summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-07-03 16:07:26 +0900
committerJeff Garzik <jeff@garzik.org>2006-07-05 22:16:27 -0400
commite9c839142d698086d3fe33a0daafde55ddd00c4e (patch)
treef7b586dec514854b536866c9d9cbe2bd39e25c23 /include/linux
parent28324304350e23db24d679c55de3f06a5b1e40aa (diff)
downloadkernel-crypto-e9c839142d698086d3fe33a0daafde55ddd00c4e.tar.gz
kernel-crypto-e9c839142d698086d3fe33a0daafde55ddd00c4e.tar.xz
kernel-crypto-e9c839142d698086d3fe33a0daafde55ddd00c4e.zip
[PATCH] libata: clean up debounce parameters and improve parameter selection
The names of predefined debounce timing parameters didn't exactly match their usages. Rename to more generic names and implement param selection helper sata_ehc_deb_timing() which uses EHI_HOTPLUGGED to select params. Combined with the previous EHI_RESUME_LINK differentiation, this makes parameter selection accurate. e.g. user scan resumes link but normal deb param is used instead of hotplug param. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/libata.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 4d4ed2c8fec..2f7bbfc0c41 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -629,9 +629,18 @@ struct ata_timing {
#define FIT(v,vmin,vmax) max_t(short,min_t(short,v,vmax),vmin)
-extern const unsigned long sata_deb_timing_boot[];
-extern const unsigned long sata_deb_timing_eh[];
-extern const unsigned long sata_deb_timing_before_fsrst[];
+extern const unsigned long sata_deb_timing_normal[];
+extern const unsigned long sata_deb_timing_hotplug[];
+extern const unsigned long sata_deb_timing_long[];
+
+static inline const unsigned long *
+sata_ehc_deb_timing(struct ata_eh_context *ehc)
+{
+ if (ehc->i.flags & ATA_EHI_HOTPLUGGED)
+ return sata_deb_timing_hotplug;
+ else
+ return sata_deb_timing_normal;
+}
extern void ata_port_probe(struct ata_port *);
extern void __sata_phy_reset(struct ata_port *ap);