IB/qib: New transmitter tunning settings for Dell 1.1 backplane
authorMitko Haralanov <mitko.haralanov@intel.com>
Wed, 26 Jun 2013 14:46:22 +0000 (10:46 -0400)
committerRoland Dreier <roland@purestorage.com>
Wed, 26 Jun 2013 16:27:50 +0000 (09:27 -0700)
The Dell blade chassis got an updated backplane which requires new
transmitter tuning settings.

Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/qib/qib_iba7322.c

index 46ffea033be00c84ce7cf921f758581983ca8657..f7c4b44b1f934dec9e50057000998651bfbb943f 100644 (file)
@@ -590,7 +590,7 @@ struct vendor_txdds_ent {
 static void write_tx_serdes_param(struct qib_pportdata *, struct txdds_ent *);
 
 #define TXDDS_TABLE_SZ 16 /* number of entries per speed in onchip table */
-#define TXDDS_EXTRA_SZ 13 /* number of extra tx settings entries */
+#define TXDDS_EXTRA_SZ 18 /* number of extra tx settings entries */
 #define TXDDS_MFG_SZ 2    /* number of mfg tx settings entries */
 #define SERDES_CHANS 4 /* yes, it's obvious, but one less magic number */
 
@@ -7466,15 +7466,20 @@ static const struct txdds_ent txdds_extra_sdr[TXDDS_EXTRA_SZ] = {
        {  0, 0, 0,  1 },       /* QMH7342 backplane settings */
        {  0, 0, 0,  2 },       /* QMH7342 backplane settings */
        {  0, 0, 0,  2 },       /* QMH7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 11 },       /* QME7342 backplane settings */
        {  0, 0, 0,  3 },       /* QMH7342 backplane settings */
        {  0, 0, 0,  4 },       /* QMH7342 backplane settings */
+       {  0, 1, 4, 15 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 3, 15 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 12 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 11 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0,  9 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 14 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 2, 15 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 11 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  7 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  9 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  6 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  8 },       /* QME7342 backplane settings 1.1 */
 };
 
 static const struct txdds_ent txdds_extra_ddr[TXDDS_EXTRA_SZ] = {
@@ -7483,15 +7488,20 @@ static const struct txdds_ent txdds_extra_ddr[TXDDS_EXTRA_SZ] = {
        {  0, 0, 0,  7 },       /* QMH7342 backplane settings */
        {  0, 0, 0,  8 },       /* QMH7342 backplane settings */
        {  0, 0, 0,  8 },       /* QMH7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
-       {  0, 0, 0, 13 },       /* QME7342 backplane settings */
        {  0, 0, 0,  9 },       /* QMH7342 backplane settings */
        {  0, 0, 0, 10 },       /* QMH7342 backplane settings */
+       {  0, 1, 4, 15 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 3, 15 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 12 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 11 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0,  9 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 14 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 2, 15 },       /* QME7342 backplane settings 1.0 */
+       {  0, 1, 0, 11 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  7 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  9 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  6 },       /* QME7342 backplane settings 1.1 */
+       {  0, 1, 0,  8 },       /* QME7342 backplane settings 1.1 */
 };
 
 static const struct txdds_ent txdds_extra_qdr[TXDDS_EXTRA_SZ] = {
@@ -7500,15 +7510,20 @@ static const struct txdds_ent txdds_extra_qdr[TXDDS_EXTRA_SZ] = {
        {  0, 1,  0,  5 },      /* QMH7342 backplane settings */
        {  0, 1,  0,  6 },      /* QMH7342 backplane settings */
        {  0, 1,  0,  8 },      /* QMH7342 backplane settings */
-       {  0, 1, 12, 10 },      /* QME7342 backplane setting */
-       {  0, 1, 12, 11 },      /* QME7342 backplane setting */
-       {  0, 1, 12, 12 },      /* QME7342 backplane setting */
-       {  0, 1, 12, 14 },      /* QME7342 backplane setting */
-       {  0, 1, 12,  6 },      /* QME7342 backplane setting */
-       {  0, 1, 12,  7 },      /* QME7342 backplane setting */
-       {  0, 1, 12,  8 },      /* QME7342 backplane setting */
        {  0, 1,  0, 10 },      /* QMH7342 backplane settings */
        {  0, 1,  0, 12 },      /* QMH7342 backplane settings */
+       {  0, 1,  4, 15 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  3, 15 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  0, 12 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  0, 11 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  0,  9 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  0, 14 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  2, 15 },      /* QME7342 backplane settings 1.0 */
+       {  0, 1,  0, 11 },      /* QME7342 backplane settings 1.1 */
+       {  0, 1,  0,  7 },      /* QME7342 backplane settings 1.1 */
+       {  0, 1,  0,  9 },      /* QME7342 backplane settings 1.1 */
+       {  0, 1,  0,  6 },      /* QME7342 backplane settings 1.1 */
+       {  0, 1,  0,  8 },      /* QME7342 backplane settings 1.1 */
 };
 
 static const struct txdds_ent txdds_extra_mfg[TXDDS_MFG_SZ] = {