aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/qib/qib_qsfp.h
diff options
context:
space:
mode:
authorMitko Haralanov <mitko@qlogic.com>2011-10-19 18:46:40 -0400
committerRoland Dreier <roland@purestorage.com>2011-10-21 15:08:20 -0700
commitdde05cbdf8b1c404344c370fe6e18ff160d6da6a (patch)
tree6c480da3c7e8e41ad6b24a51eaa27caeb6ea22b2 /drivers/infiniband/hw/qib/qib_qsfp.h
parentIB/qib: Clean up checkpatch issue (diff)
downloadlinux-dev-dde05cbdf8b1c404344c370fe6e18ff160d6da6a.tar.xz
linux-dev-dde05cbdf8b1c404344c370fe6e18ff160d6da6a.zip
IB/qib: Hold links until tuning data is available
Hold the link state machine until the tuning data is read from the QSFP EEPROM so correct tuning settings are applied before the state machine attempts to bring the link up. Link is also held on cable unplug in case a different cable is used. Signed-off-by: Mitko Haralanov <mitko@qlogic.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_qsfp.h')
-rw-r--r--drivers/infiniband/hw/qib/qib_qsfp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/qib/qib_qsfp.h b/drivers/infiniband/hw/qib/qib_qsfp.h
index c109bbdc90ac..786a92a25c25 100644
--- a/drivers/infiniband/hw/qib/qib_qsfp.h
+++ b/drivers/infiniband/hw/qib/qib_qsfp.h
@@ -34,6 +34,7 @@
#define QSFP_DEV 0xA0
#define QSFP_PWR_LAG_MSEC 2000
+#define QSFP_MODPRS_LAG_MSEC 20
/*
* Below are masks for various QSFP signals, for Port 1.
@@ -181,6 +182,7 @@ struct qib_qsfp_data {
extern int qib_refresh_qsfp_cache(struct qib_pportdata *ppd,
struct qib_qsfp_cache *cp);
+extern int qib_qsfp_mod_present(struct qib_pportdata *ppd);
extern void qib_qsfp_init(struct qib_qsfp_data *qd,
void (*fevent)(struct work_struct *));
extern void qib_qsfp_deinit(struct qib_qsfp_data *qd);