aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-29 15:11:54 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-29 15:11:54 -0400
commit00cda56d39f013cce60f44f1e3da19b87eba5d85 (patch)
tree2cfe7bf556562a846ff46a558a31ca1939d2e12c /include/linux
parentda8e5aa21e037be02e0752e80b9444ff60185a3f (diff)
parentab6fc95f609b372a19e18ea689986846ab1ba29c (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] AHCI: fix newly introduced host-reset bug [libata] sata_nv: fix SWNCQ enabling libata: add MAXTOR 7V300F0/VA111900 to NCQ blacklist libata: no need to speed down if already at PIO0 libata: relocate forcing PIO0 on reset pata_ns87415: define SUPERIO_IDE_MAX_RETRIES [libata] Address some checkpatch-spotted issues [libata] fix 'if(' and similar areas that lack whitespace libata: implement ata_wait_after_reset() libata: track SLEEP state and issue SRST to wake it up libata: relocate and fix post-command processing
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ata.h1
-rw-r--r--include/linux/libata.h9
2 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index 8263a7b74d34..e21c002c3a4a 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -180,6 +180,7 @@ enum {
180 ATA_CMD_VERIFY_EXT = 0x42, 180 ATA_CMD_VERIFY_EXT = 0x42,
181 ATA_CMD_STANDBYNOW1 = 0xE0, 181 ATA_CMD_STANDBYNOW1 = 0xE0,
182 ATA_CMD_IDLEIMMEDIATE = 0xE1, 182 ATA_CMD_IDLEIMMEDIATE = 0xE1,
183 ATA_CMD_SLEEP = 0xE6,
183 ATA_CMD_INIT_DEV_PARAMS = 0x91, 184 ATA_CMD_INIT_DEV_PARAMS = 0x91,
184 ATA_CMD_READ_NATIVE_MAX = 0xF8, 185 ATA_CMD_READ_NATIVE_MAX = 0xF8,
185 ATA_CMD_READ_NATIVE_MAX_EXT = 0x27, 186 ATA_CMD_READ_NATIVE_MAX_EXT = 0x27,
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 6fd24e03622e..439d40f86c55 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -138,6 +138,7 @@ enum {
138 ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */ 138 ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */
139 ATA_DFLAG_NCQ_OFF = (1 << 13), /* device limited to non-NCQ mode */ 139 ATA_DFLAG_NCQ_OFF = (1 << 13), /* device limited to non-NCQ mode */
140 ATA_DFLAG_SPUNDOWN = (1 << 14), /* XXX: for spindown_compat */ 140 ATA_DFLAG_SPUNDOWN = (1 << 14), /* XXX: for spindown_compat */
141 ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */
141 ATA_DFLAG_INIT_MASK = (1 << 16) - 1, 142 ATA_DFLAG_INIT_MASK = (1 << 16) - 1,
142 143
143 ATA_DFLAG_DETACH = (1 << 16), 144 ATA_DFLAG_DETACH = (1 << 16),
@@ -234,6 +235,13 @@ enum {
234 ATA_TMOUT_INTERNAL = 30 * HZ, 235 ATA_TMOUT_INTERNAL = 30 * HZ,
235 ATA_TMOUT_INTERNAL_QUICK = 5 * HZ, 236 ATA_TMOUT_INTERNAL_QUICK = 5 * HZ,
236 237
238 /* FIXME: GoVault needs 2s but we can't afford that without
239 * parallel probing. 800ms is enough for iVDR disk
240 * HHD424020F7SV00. Increase to 2secs when parallel probing
241 * is in place.
242 */
243 ATA_TMOUT_FF_WAIT = 4 * HZ / 5,
244
237 /* ATA bus states */ 245 /* ATA bus states */
238 BUS_UNKNOWN = 0, 246 BUS_UNKNOWN = 0,
239 BUS_DMA = 1, 247 BUS_DMA = 1,
@@ -799,6 +807,7 @@ extern void ata_host_resume(struct ata_host *host);
799extern int ata_ratelimit(void); 807extern int ata_ratelimit(void);
800extern int ata_busy_sleep(struct ata_port *ap, 808extern int ata_busy_sleep(struct ata_port *ap,
801 unsigned long timeout_pat, unsigned long timeout); 809 unsigned long timeout_pat, unsigned long timeout);
810extern void ata_wait_after_reset(struct ata_port *ap, unsigned long deadline);
802extern int ata_wait_ready(struct ata_port *ap, unsigned long deadline); 811extern int ata_wait_ready(struct ata_port *ap, unsigned long deadline);
803extern void ata_port_queue_task(struct ata_port *ap, work_func_t fn, 812extern void ata_port_queue_task(struct ata_port *ap, work_func_t fn,
804 void *data, unsigned long delay); 813 void *data, unsigned long delay);