aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMitko Haralanov <mitko.haralanov@intel.com>2012-05-07 14:02:53 -0400
committerRoland Dreier <roland@purestorage.com>2012-05-14 15:39:26 -0400
commitf665acb3cbc4d7d83bd655d21e4c7edc45029c46 (patch)
treea29d7da50c7455b15dea05a7a26738395aca1270 /drivers
parent6ceaadee341da89af143c5cd56a3652b406e1ff5 (diff)
IB/qib: Fix QLE734X link cycling
The SERDES was using the incorrect Frequency Loop Bandwidth setting causing the link to cycle through the Physical link negotiation state machine. Fixing the Frequency Loop Bandwidth setting in the SERDES helps the link come up faster and more reliably. Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/hw/qib/qib_iba7322.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index e7b9ad34fe2e..c881e744c091 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -7709,7 +7709,7 @@ static int serdes_7322_init_new(struct qib_pportdata *ppd)
7709 ibsd_wr_allchans(ppd, 5, 0, BMASK(0, 0)); 7709 ibsd_wr_allchans(ppd, 5, 0, BMASK(0, 0));
7710 msleep(20); 7710 msleep(20);
7711 /* Set Frequency Loop Bandwidth */ 7711 /* Set Frequency Loop Bandwidth */
7712 ibsd_wr_allchans(ppd, 2, (7 << 5), BMASK(8, 5)); 7712 ibsd_wr_allchans(ppd, 2, (15 << 5), BMASK(8, 5));
7713 /* Enable Frequency Loop */ 7713 /* Enable Frequency Loop */
7714 ibsd_wr_allchans(ppd, 2, (1 << 4), BMASK(4, 4)); 7714 ibsd_wr_allchans(ppd, 2, (1 << 4), BMASK(4, 4));
7715 /* Set Timing Loop Bandwidth */ 7715 /* Set Timing Loop Bandwidth */