diff options
author | Mitko Haralanov <mitko@qlogic.com> | 2011-10-19 18:46:40 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-10-21 15:08:20 -0700 |
commit | dde05cbdf8b1c404344c370fe6e18ff160d6da6a (patch) | |
tree | 6c480da3c7e8e41ad6b24a51eaa27caeb6ea22b2 /drivers/infiniband/hw/qib/qib_qsfp.h | |
parent | 44d75d3d92304a1df8131f48b38de08df9011fa2 (diff) |
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.h | 2 |
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 c109bbdc90a..786a92a25c2 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); |