diff options
author | Mike Marciniszyn <mike.marciniszyn@intel.com> | 2014-02-12 17:54:15 +0100 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-02-13 23:52:44 +0100 |
commit | 2f75e12c4457a9b3d042c0a0d748fa198dc2ffaf (patch) | |
tree | d4b19a9a13fc942a4a11436a2aacf691579cda15 /drivers/infiniband | |
parent | Linus 3.14-rc1 (diff) | |
download | linux-2f75e12c4457a9b3d042c0a0d748fa198dc2ffaf.tar.xz linux-2f75e12c4457a9b3d042c0a0d748fa198dc2ffaf.zip |
IB/qib: Add missing serdes init sequence
Research has shown that commit a77fcf895046 ("IB/qib: Use a single
txselect module parameter for serdes tuning") missed a key serdes init
sequence.
This patch add that sequence.
Cc: <stable@vger.kernel.org>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/qib/qib_iba7322.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c index 5bfc02f450e6..d1bd21319d7d 100644 --- a/drivers/infiniband/hw/qib/qib_iba7322.c +++ b/drivers/infiniband/hw/qib/qib_iba7322.c @@ -2395,6 +2395,11 @@ static int qib_7322_bringup_serdes(struct qib_pportdata *ppd) qib_write_kreg_port(ppd, krp_ibcctrl_a, ppd->cpspec->ibcctrl_a); qib_write_kreg(dd, kr_scratch, 0ULL); + /* ensure previous Tx parameters are not still forced */ + qib_write_kreg_port(ppd, krp_tx_deemph_override, + SYM_MASK(IBSD_TX_DEEMPHASIS_OVERRIDE_0, + reset_tx_deemphasis_override)); + if (qib_compat_ddr_negotiate) { ppd->cpspec->ibdeltainprog = 1; ppd->cpspec->ibsymsnap = read_7322_creg32_port(ppd, |