diff options
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index e57e5d08312d..94110b652b30 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -27,6 +27,7 @@ | |||
27 | #define __LINUX_LIBATA_H__ | 27 | #define __LINUX_LIBATA_H__ |
28 | 28 | ||
29 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
30 | #include <linux/jiffies.h> | ||
30 | #include <linux/interrupt.h> | 31 | #include <linux/interrupt.h> |
31 | #include <linux/dma-mapping.h> | 32 | #include <linux/dma-mapping.h> |
32 | #include <linux/scatterlist.h> | 33 | #include <linux/scatterlist.h> |
@@ -115,7 +116,7 @@ enum { | |||
115 | /* tag ATA_MAX_QUEUE - 1 is reserved for internal commands */ | 116 | /* tag ATA_MAX_QUEUE - 1 is reserved for internal commands */ |
116 | ATA_MAX_QUEUE = 32, | 117 | ATA_MAX_QUEUE = 32, |
117 | ATA_TAG_INTERNAL = ATA_MAX_QUEUE - 1, | 118 | ATA_TAG_INTERNAL = ATA_MAX_QUEUE - 1, |
118 | ATA_SHORT_PAUSE = (HZ >> 6) + 1, | 119 | ATA_SHORT_PAUSE = 16, |
119 | 120 | ||
120 | ATAPI_MAX_DRAIN = 16 << 10, | 121 | ATAPI_MAX_DRAIN = 16 << 10, |
121 | 122 | ||
@@ -234,17 +235,17 @@ enum { | |||
234 | /* bits 24:31 of host->flags are reserved for LLD specific flags */ | 235 | /* bits 24:31 of host->flags are reserved for LLD specific flags */ |
235 | 236 | ||
236 | /* various lengths of time */ | 237 | /* various lengths of time */ |
237 | ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */ | 238 | ATA_TMOUT_BOOT = 30000, /* heuristic */ |
238 | ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */ | 239 | ATA_TMOUT_BOOT_QUICK = 7000, /* heuristic */ |
239 | ATA_TMOUT_INTERNAL = 30 * HZ, | 240 | ATA_TMOUT_INTERNAL = 30000, |
240 | ATA_TMOUT_INTERNAL_QUICK = 5 * HZ, | 241 | ATA_TMOUT_INTERNAL_QUICK = 5000, |
241 | 242 | ||
242 | /* FIXME: GoVault needs 2s but we can't afford that without | 243 | /* FIXME: GoVault needs 2s but we can't afford that without |
243 | * parallel probing. 800ms is enough for iVDR disk | 244 | * parallel probing. 800ms is enough for iVDR disk |
244 | * HHD424020F7SV00. Increase to 2secs when parallel probing | 245 | * HHD424020F7SV00. Increase to 2secs when parallel probing |
245 | * is in place. | 246 | * is in place. |
246 | */ | 247 | */ |
247 | ATA_TMOUT_FF_WAIT = 4 * HZ / 5, | 248 | ATA_TMOUT_FF_WAIT = 800, |
248 | 249 | ||
249 | /* Spec mandates to wait for ">= 2ms" before checking status | 250 | /* Spec mandates to wait for ">= 2ms" before checking status |
250 | * after reset. We wait 150ms, because that was the magic | 251 | * after reset. We wait 150ms, because that was the magic |
@@ -256,14 +257,14 @@ enum { | |||
256 | * | 257 | * |
257 | * Old drivers/ide uses the 2mS rule and then waits for ready. | 258 | * Old drivers/ide uses the 2mS rule and then waits for ready. |
258 | */ | 259 | */ |
259 | ATA_WAIT_AFTER_RESET_MSECS = 150, | 260 | ATA_WAIT_AFTER_RESET = 150, |
260 | 261 | ||
261 | /* If PMP is supported, we have to do follow-up SRST. As some | 262 | /* If PMP is supported, we have to do follow-up SRST. As some |
262 | * PMPs don't send D2H Reg FIS after hardreset, LLDs are | 263 | * PMPs don't send D2H Reg FIS after hardreset, LLDs are |
263 | * advised to wait only for the following duration before | 264 | * advised to wait only for the following duration before |
264 | * doing SRST. | 265 | * doing SRST. |
265 | */ | 266 | */ |
266 | ATA_TMOUT_PMP_SRST_WAIT = 1 * HZ, | 267 | ATA_TMOUT_PMP_SRST_WAIT = 1000, |
267 | 268 | ||
268 | /* ATA bus states */ | 269 | /* ATA bus states */ |
269 | BUS_UNKNOWN = 0, | 270 | BUS_UNKNOWN = 0, |
@@ -895,8 +896,7 @@ extern void ata_host_resume(struct ata_host *host); | |||
895 | #endif | 896 | #endif |
896 | extern int ata_ratelimit(void); | 897 | extern int ata_ratelimit(void); |
897 | extern u32 ata_wait_register(void __iomem *reg, u32 mask, u32 val, | 898 | extern u32 ata_wait_register(void __iomem *reg, u32 mask, u32 val, |
898 | unsigned long interval_msec, | 899 | unsigned long interval, unsigned long timeout); |
899 | unsigned long timeout_msec); | ||
900 | extern int atapi_cmd_type(u8 opcode); | 900 | extern int atapi_cmd_type(u8 opcode); |
901 | extern void ata_tf_to_fis(const struct ata_taskfile *tf, | 901 | extern void ata_tf_to_fis(const struct ata_taskfile *tf, |
902 | u8 pmp, int is_cmd, u8 *fis); | 902 | u8 pmp, int is_cmd, u8 *fis); |
@@ -1389,6 +1389,12 @@ static inline int ata_check_ready(u8 status) | |||
1389 | return 0; | 1389 | return 0; |
1390 | } | 1390 | } |
1391 | 1391 | ||
1392 | static inline unsigned long ata_deadline(unsigned long from_jiffies, | ||
1393 | unsigned long timeout_msecs) | ||
1394 | { | ||
1395 | return from_jiffies + msecs_to_jiffies(timeout_msecs); | ||
1396 | } | ||
1397 | |||
1392 | 1398 | ||
1393 | /************************************************************************** | 1399 | /************************************************************************** |
1394 | * PMP - drivers/ata/libata-pmp.c | 1400 | * PMP - drivers/ata/libata-pmp.c |