diff options
-rw-r--r-- | drivers/infiniband/hw/qib/qib_iba7322.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c index 8ee0ac6246e9..5eedf83e2c3b 100644 --- a/drivers/infiniband/hw/qib/qib_iba7322.c +++ b/drivers/infiniband/hw/qib/qib_iba7322.c | |||
@@ -543,7 +543,7 @@ struct vendor_txdds_ent { | |||
543 | static void write_tx_serdes_param(struct qib_pportdata *, struct txdds_ent *); | 543 | static void write_tx_serdes_param(struct qib_pportdata *, struct txdds_ent *); |
544 | 544 | ||
545 | #define TXDDS_TABLE_SZ 16 /* number of entries per speed in onchip table */ | 545 | #define TXDDS_TABLE_SZ 16 /* number of entries per speed in onchip table */ |
546 | #define TXDDS_EXTRA_SZ 11 /* number of extra tx settings entries */ | 546 | #define TXDDS_EXTRA_SZ 13 /* number of extra tx settings entries */ |
547 | #define SERDES_CHANS 4 /* yes, it's obvious, but one less magic number */ | 547 | #define SERDES_CHANS 4 /* yes, it's obvious, but one less magic number */ |
548 | 548 | ||
549 | #define H1_FORCE_VAL 8 | 549 | #define H1_FORCE_VAL 8 |
@@ -5629,6 +5629,8 @@ static void set_no_qsfp_atten(struct qib_devdata *dd, int change) | |||
5629 | if (ppd->port != port || !ppd->link_speed_supported) | 5629 | if (ppd->port != port || !ppd->link_speed_supported) |
5630 | continue; | 5630 | continue; |
5631 | ppd->cpspec->no_eep = val; | 5631 | ppd->cpspec->no_eep = val; |
5632 | if (seth1) | ||
5633 | ppd->cpspec->h1_val = h1; | ||
5632 | /* now change the IBC and serdes, overriding generic */ | 5634 | /* now change the IBC and serdes, overriding generic */ |
5633 | init_txdds_table(ppd, 1); | 5635 | init_txdds_table(ppd, 1); |
5634 | any++; | 5636 | any++; |
@@ -6069,9 +6071,9 @@ static int qib_init_7322_variables(struct qib_devdata *dd) | |||
6069 | * the "cable info" setup here. Can be overridden | 6071 | * the "cable info" setup here. Can be overridden |
6070 | * in adapter-specific routines. | 6072 | * in adapter-specific routines. |
6071 | */ | 6073 | */ |
6072 | if (!(ppd->dd->flags & QIB_HAS_QSFP)) { | 6074 | if (!(dd->flags & QIB_HAS_QSFP)) { |
6073 | if (!IS_QMH(ppd->dd) && !IS_QME(ppd->dd)) | 6075 | if (!IS_QMH(dd) && !IS_QME(dd)) |
6074 | qib_devinfo(ppd->dd->pcidev, "IB%u:%u: " | 6076 | qib_devinfo(dd->pcidev, "IB%u:%u: " |
6075 | "Unknown mezzanine card type\n", | 6077 | "Unknown mezzanine card type\n", |
6076 | dd->unit, ppd->port); | 6078 | dd->unit, ppd->port); |
6077 | cp->h1_val = IS_QMH(dd) ? H1_FORCE_QMH : H1_FORCE_QME; | 6079 | cp->h1_val = IS_QMH(dd) ? H1_FORCE_QMH : H1_FORCE_QME; |
@@ -6953,6 +6955,8 @@ static const struct txdds_ent txdds_extra_sdr[TXDDS_EXTRA_SZ] = { | |||
6953 | { 0, 0, 0, 11 }, /* QME7342 backplane settings */ | 6955 | { 0, 0, 0, 11 }, /* QME7342 backplane settings */ |
6954 | { 0, 0, 0, 11 }, /* QME7342 backplane settings */ | 6956 | { 0, 0, 0, 11 }, /* QME7342 backplane settings */ |
6955 | { 0, 0, 0, 11 }, /* QME7342 backplane settings */ | 6957 | { 0, 0, 0, 11 }, /* QME7342 backplane settings */ |
6958 | { 0, 0, 0, 3 }, /* QMH7342 backplane settings */ | ||
6959 | { 0, 0, 0, 4 }, /* QMH7342 backplane settings */ | ||
6956 | }; | 6960 | }; |
6957 | 6961 | ||
6958 | static const struct txdds_ent txdds_extra_ddr[TXDDS_EXTRA_SZ] = { | 6962 | static const struct txdds_ent txdds_extra_ddr[TXDDS_EXTRA_SZ] = { |
@@ -6968,6 +6972,8 @@ static const struct txdds_ent txdds_extra_ddr[TXDDS_EXTRA_SZ] = { | |||
6968 | { 0, 0, 0, 13 }, /* QME7342 backplane settings */ | 6972 | { 0, 0, 0, 13 }, /* QME7342 backplane settings */ |
6969 | { 0, 0, 0, 13 }, /* QME7342 backplane settings */ | 6973 | { 0, 0, 0, 13 }, /* QME7342 backplane settings */ |
6970 | { 0, 0, 0, 13 }, /* QME7342 backplane settings */ | 6974 | { 0, 0, 0, 13 }, /* QME7342 backplane settings */ |
6975 | { 0, 0, 0, 9 }, /* QMH7342 backplane settings */ | ||
6976 | { 0, 0, 0, 10 }, /* QMH7342 backplane settings */ | ||
6971 | }; | 6977 | }; |
6972 | 6978 | ||
6973 | static const struct txdds_ent txdds_extra_qdr[TXDDS_EXTRA_SZ] = { | 6979 | static const struct txdds_ent txdds_extra_qdr[TXDDS_EXTRA_SZ] = { |
@@ -6983,6 +6989,8 @@ static const struct txdds_ent txdds_extra_qdr[TXDDS_EXTRA_SZ] = { | |||
6983 | { 0, 1, 12, 6 }, /* QME7342 backplane setting */ | 6989 | { 0, 1, 12, 6 }, /* QME7342 backplane setting */ |
6984 | { 0, 1, 12, 7 }, /* QME7342 backplane setting */ | 6990 | { 0, 1, 12, 7 }, /* QME7342 backplane setting */ |
6985 | { 0, 1, 12, 8 }, /* QME7342 backplane setting */ | 6991 | { 0, 1, 12, 8 }, /* QME7342 backplane setting */ |
6992 | { 0, 1, 0, 10 }, /* QMH7342 backplane settings */ | ||
6993 | { 0, 1, 0, 12 }, /* QMH7342 backplane settings */ | ||
6986 | }; | 6994 | }; |
6987 | 6995 | ||
6988 | static const struct txdds_ent *get_atten_table(const struct txdds_ent *txdds, | 6996 | static const struct txdds_ent *get_atten_table(const struct txdds_ent *txdds, |