Message ID | 4E1F3419.3010508@dev.mellanox.co.il (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> - IB_ATTR_LAST > + IB_ATTR_LAST, > + > + IB_ATTR_MLNX_EXT_PORT_INFO = 0xff90, > }; Seems kind of odd to have something come after 'last'.. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 7/14/2011 2:34 PM, Hefty, Sean wrote: >> - IB_ATTR_LAST >> + IB_ATTR_LAST, >> + >> + IB_ATTR_MLNX_EXT_PORT_INFO = 0xff90, >> }; > > Seems kind of odd to have something come after 'last'.. I'm not sure why IB_ATTR_LAST is even there (similarly for IB_SA_ATTR_LAST); maybe a historical vestige at this point but due to backward compatibility (who knows if it's used) should remain. It's a poor name given vendor SM attribute IDs. I didn't think it was safe to have IB_ATTR_LAST increase from 0x21 to 0xff91 because of this so I thought it best to add it as I did and treat this new attribute ID as an exception if needed which it isn't currently. -- Hal -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 14 Jul 2011 11:23:21 -0700 Hal Rosenstock <hal@dev.mellanox.co.il> wrote: > > for FDR10 operation > > Signed-off-by: Hal Rosenstock <hal@mellanox.com> Thanks applied, Ira > --- > diff --git a/include/infiniband/mad.h b/include/infiniband/mad.h > index f00bf7a..8175704 100644 > --- a/include/infiniband/mad.h > +++ b/include/infiniband/mad.h > @@ -141,7 +141,9 @@ enum SMI_ATTR_ID { > IB_ATTR_VENDORMADSTBL = 0x1d, > IB_ATTR_SMINFO = 0x20, > > - IB_ATTR_LAST > + IB_ATTR_LAST, > + > + IB_ATTR_MLNX_EXT_PORT_INFO = 0xff90, > }; > > enum SA_ATTR_ID { > @@ -805,6 +807,15 @@ enum MAD_FIELDS { > IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE11_F, > IB_PESC_LAST_F, > > + /* > + * Mellanox ExtendedPortInfo > + */ > + IB_MLNX_EXT_PORT_STATE_CHG_ENABLE_F, > + IB_MLNX_EXT_PORT_LINK_SPEED_SUPPORTED_F, > + IB_MLNX_EXT_PORT_LINK_SPEED_ENABLED_F, > + IB_MLNX_EXT_PORT_LINK_SPEED_ACTIVE_F, > + IB_MLNX_EXT_PORT_LAST_F, > + > IB_FIELD_LAST_ /* must be last */ > }; > > @@ -1137,7 +1148,8 @@ MAD_EXPORT ib_mad_dump_fn > mad_dump_switchinfo, mad_dump_perfcounters, mad_dump_perfcounters_ext, > mad_dump_perfcounters_xmt_sl, mad_dump_perfcounters_rcv_sl, > mad_dump_perfcounters_xmt_disc, mad_dump_perfcounters_rcv_err, > - mad_dump_portsamples_control, mad_dump_port_ext_speeds_counters; > + mad_dump_portsamples_control, mad_dump_port_ext_speeds_counters, > + mad_dump_mlnx_ext_port_info; > > MAD_EXPORT void mad_dump_fields(char *buf, int bufsz, void *val, int valsz, > int start, int end); > diff --git a/src/dump.c b/src/dump.c > index 4b4279d..76987ff 100644 > --- a/src/dump.c > +++ b/src/dump.c > @@ -836,6 +836,12 @@ void mad_dump_port_ext_speeds_counters(char *buf, int bufsz, void *val, int vals > _dump_fields(buf, bufsz, val, IB_PESC_PORT_SELECT_F, IB_PESC_LAST_F); > } > > +void mad_dump_mlnx_ext_port_info(char *buf, int bufsz, void *val, int valsz) > +{ > + _dump_fields(buf, bufsz, val, IB_MLNX_EXT_PORT_STATE_CHG_ENABLE_F, > + IB_MLNX_EXT_PORT_LAST_F); > +} > + > void xdump(FILE * file, char *msg, void *p, int size) > { > #define HEX(x) ((x) < 10 ? '0' + (x) : 'a' + ((x) -10)) > diff --git a/src/fields.c b/src/fields.c > index 8039882..665797b 100644 > --- a/src/fields.c > +++ b/src/fields.c > @@ -578,6 +578,12 @@ static const ib_field_t ib_mad_f[] = { > {992, 32, "FECUncorrectableBlockCtrLane11", mad_dump_uint}, > {0, 0}, /* IB_PESC_LAST_F */ > > + {BITSOFFS(24, 8), "StateChangeEnable", mad_dump_hex}, > + {BITSOFFS(56, 8), "LinkSpeedSupported", mad_dump_hex}, > + {BITSOFFS(88, 8), "LinkSpeedEnabled", mad_dump_hex}, > + {BITSOFFS(120, 8), "LinkSpeedActive", mad_dump_hex}, > + {0, 0}, /* IB_MLNX_EXT_PORT_LAST_F */ > + > {0, 0} /* IB_FIELD_LAST_ */ > > }; > diff --git a/src/libibmad.map b/src/libibmad.map > index 457ec86..ebeaf48 100644 > --- a/src/libibmad.map > +++ b/src/libibmad.map > @@ -116,5 +116,6 @@ IBMAD_1.3 { > mad_field_name; > bm_call_via; > mad_dump_port_ext_speeds_counters; > + mad_dump_mlnx_ext_port_info; > local: *; > };
diff --git a/include/infiniband/mad.h b/include/infiniband/mad.h index f00bf7a..8175704 100644 --- a/include/infiniband/mad.h +++ b/include/infiniband/mad.h @@ -141,7 +141,9 @@ enum SMI_ATTR_ID { IB_ATTR_VENDORMADSTBL = 0x1d, IB_ATTR_SMINFO = 0x20, - IB_ATTR_LAST + IB_ATTR_LAST, + + IB_ATTR_MLNX_EXT_PORT_INFO = 0xff90, }; enum SA_ATTR_ID { @@ -805,6 +807,15 @@ enum MAD_FIELDS { IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE11_F, IB_PESC_LAST_F, + /* + * Mellanox ExtendedPortInfo + */ + IB_MLNX_EXT_PORT_STATE_CHG_ENABLE_F, + IB_MLNX_EXT_PORT_LINK_SPEED_SUPPORTED_F, + IB_MLNX_EXT_PORT_LINK_SPEED_ENABLED_F, + IB_MLNX_EXT_PORT_LINK_SPEED_ACTIVE_F, + IB_MLNX_EXT_PORT_LAST_F, + IB_FIELD_LAST_ /* must be last */ }; @@ -1137,7 +1148,8 @@ MAD_EXPORT ib_mad_dump_fn mad_dump_switchinfo, mad_dump_perfcounters, mad_dump_perfcounters_ext, mad_dump_perfcounters_xmt_sl, mad_dump_perfcounters_rcv_sl, mad_dump_perfcounters_xmt_disc, mad_dump_perfcounters_rcv_err, - mad_dump_portsamples_control, mad_dump_port_ext_speeds_counters; + mad_dump_portsamples_control, mad_dump_port_ext_speeds_counters, + mad_dump_mlnx_ext_port_info; MAD_EXPORT void mad_dump_fields(char *buf, int bufsz, void *val, int valsz, int start, int end); diff --git a/src/dump.c b/src/dump.c index 4b4279d..76987ff 100644 --- a/src/dump.c +++ b/src/dump.c @@ -836,6 +836,12 @@ void mad_dump_port_ext_speeds_counters(char *buf, int bufsz, void *val, int vals _dump_fields(buf, bufsz, val, IB_PESC_PORT_SELECT_F, IB_PESC_LAST_F); } +void mad_dump_mlnx_ext_port_info(char *buf, int bufsz, void *val, int valsz) +{ + _dump_fields(buf, bufsz, val, IB_MLNX_EXT_PORT_STATE_CHG_ENABLE_F, + IB_MLNX_EXT_PORT_LAST_F); +} + void xdump(FILE * file, char *msg, void *p, int size) { #define HEX(x) ((x) < 10 ? '0' + (x) : 'a' + ((x) -10)) diff --git a/src/fields.c b/src/fields.c index 8039882..665797b 100644 --- a/src/fields.c +++ b/src/fields.c @@ -578,6 +578,12 @@ static const ib_field_t ib_mad_f[] = { {992, 32, "FECUncorrectableBlockCtrLane11", mad_dump_uint}, {0, 0}, /* IB_PESC_LAST_F */ + {BITSOFFS(24, 8), "StateChangeEnable", mad_dump_hex}, + {BITSOFFS(56, 8), "LinkSpeedSupported", mad_dump_hex}, + {BITSOFFS(88, 8), "LinkSpeedEnabled", mad_dump_hex}, + {BITSOFFS(120, 8), "LinkSpeedActive", mad_dump_hex}, + {0, 0}, /* IB_MLNX_EXT_PORT_LAST_F */ + {0, 0} /* IB_FIELD_LAST_ */ }; diff --git a/src/libibmad.map b/src/libibmad.map index 457ec86..ebeaf48 100644 --- a/src/libibmad.map +++ b/src/libibmad.map @@ -116,5 +116,6 @@ IBMAD_1.3 { mad_field_name; bm_call_via; mad_dump_port_ext_speeds_counters; + mad_dump_mlnx_ext_port_info; local: *; };
for FDR10 operation Signed-off-by: Hal Rosenstock <hal@mellanox.com> --- -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html