Merge branches 'x86-fixes-for-linus', 'sched-fixes-for-linus', 'timers-fixes-for...
[pandora-kernel.git] / drivers / infiniband / hw / qib / qib_iba7322.c
index b01809a..55de3cf 100644 (file)
@@ -3299,7 +3299,7 @@ static int qib_do_7322_reset(struct qib_devdata *dd)
        /*
         * Keep chip from being accessed until we are ready.  Use
         * writeq() directly, to allow the write even though QIB_PRESENT
-        * isnt' set.
+        * isn't' set.
         */
        dd->flags &= ~(QIB_INITTED | QIB_PRESENT | QIB_BADINTR);
        dd->flags |= QIB_DOING_RESET;
@@ -3727,7 +3727,7 @@ static int qib_7322_set_ib_cfg(struct qib_pportdata *ppd, int which, u32 val)
                /*
                 * As with width, only write the actual register if the
                 * link is currently down, otherwise takes effect on next
-                * link change.  Since setting is being explictly requested
+                * link change.  Since setting is being explicitly requested
                 * (via MAD or sysfs), clear autoneg failure status if speed
                 * autoneg is enabled.
                 */
@@ -4163,7 +4163,7 @@ static void rcvctrl_7322_mod(struct qib_pportdata *ppd, unsigned int op,
                 * Init the context registers also; if we were
                 * disabled, tail and head should both be zero
                 * already from the enable, but since we don't
-                * know, we have to do it explictly.
+                * know, we have to do it explicitly.
                 */
                val = qib_read_ureg32(dd, ur_rcvegrindextail, ctxt);
                qib_write_ureg(dd, ur_rcvegrindexhead, val, ctxt);
@@ -5582,9 +5582,16 @@ static void qsfp_7322_event(struct work_struct *work)
         * even on failure to read cable information.  We don't
         * get here for QME, so IS_QME check not needed here.
         */
-       le2 = (!ret && qd->cache.atten[1] >= qib_long_atten &&
-              !ppd->dd->cspec->r1 && QSFP_IS_CU(qd->cache.tech)) ?
-               LE2_5m : LE2_DEFAULT;
+       if (!ret && !ppd->dd->cspec->r1) {
+               if (QSFP_IS_ACTIVE_FAR(qd->cache.tech))
+                       le2 = LE2_QME;
+               else if (qd->cache.atten[1] >= qib_long_atten &&
+                        QSFP_IS_CU(qd->cache.tech))
+                       le2 = LE2_5m;
+               else
+                       le2 = LE2_DEFAULT;
+       } else
+               le2 = LE2_DEFAULT;
        ibsd_wr_allchans(ppd, 13, (le2 << 7), BMASK(9, 7));
        init_txdds_table(ppd, 0);
 }
@@ -7476,7 +7483,7 @@ static int serdes_7322_init_new(struct qib_pportdata *ppd)
        /*       Baseline Wander Correction Gain [13:4-0] (leave as default) */
        /*       Baseline Wander Correction Gain [3:7-5] (leave as default) */
        /*       Data Rate Select [5:7-6] (leave as default) */
-       /*       RX Parralel Word Width [3:10-8] (leave as default) */
+       /*       RX Parallel Word Width [3:10-8] (leave as default) */
 
        /* RX REST */
        /*       Single- or Multi-channel reset */