|
65 | 65 | #define LINKSPEED_STR_FDR "FDR" |
66 | 66 | #define LINKSPEED_STR_EDR "EDR" |
67 | 67 | #define LINKSPEED_STR_HDR "HDR" |
| 68 | +#define LINKSPEED_STR_NDR "NDR" |
68 | 69 | #define LINKSPEED_STR_FDR10 "FDR10" |
69 | 70 |
|
70 | 71 | static int inclines[MAX_INCLUDE]; |
@@ -500,10 +501,13 @@ static int parse_port_link_width_and_speed(Port * port, char *line) |
500 | 501 | port->linkspeedena = LINKSPEED_QDR | LINKSPEED_SDR | LINKSPEED_DDR; |
501 | 502 | port->mlnx_linkspeedena = MLNXLINKSPEED_FDR10; |
502 | 503 | } else if (!strncmp(speed, LINKSPEED_STR_HDR, strlen(speed))) { |
503 | | - |
504 | 504 | port->linkspeedextena = LINKSPEEDEXT_HDR_EDR_FDR; |
505 | 505 | port->linkspeedena = LINKSPEED_QDR | LINKSPEED_SDR | LINKSPEED_DDR; |
506 | 506 | port->mlnx_linkspeedena = MLNXLINKSPEED_FDR10; |
| 507 | + } else if (!strncmp(speed, LINKSPEED_STR_NDR, strlen(speed))) { |
| 508 | + port->linkspeedextena = LINKSPEEDEXT_NDR_HDR_EDR_FDR; |
| 509 | + port->linkspeedena = LINKSPEED_QDR | LINKSPEED_SDR | LINKSPEED_DDR; |
| 510 | + port->mlnx_linkspeedena = MLNXLINKSPEED_FDR10; |
507 | 511 | } else if (!strncmp(speed, LINKSPEED_STR_FDR10, strlen(speed))){ |
508 | 512 | port->linkspeedena = LINKSPEED_QDR | LINKSPEED_SDR | LINKSPEED_DDR; |
509 | 513 | port->mlnx_linkspeedena = MLNXLINKSPEED_FDR10; |
@@ -1225,6 +1229,8 @@ static int get_active_linkspeedext(Port * lport, Port * rport) |
1225 | 1229 | { |
1226 | 1230 | int speed = lport->linkspeedextena & rport->linkspeedextena; |
1227 | 1231 |
|
| 1232 | + if (speed & LINKSPEEDEXT_NDR) |
| 1233 | + return LINKSPEEDEXT_NDR; |
1228 | 1234 | if (speed & LINKSPEEDEXT_HDR) |
1229 | 1235 | return LINKSPEEDEXT_HDR; |
1230 | 1236 | if (speed & LINKSPEEDEXT_EDR) |
@@ -1281,7 +1287,7 @@ void update_portinfo(Port * p) |
1281 | 1287 |
|
1282 | 1288 | if (p->linkspeedext) { |
1283 | 1289 | mad_set_field(pi, 0, IB_PORT_LINK_SPEED_EXT_ENABLED_F, p->linkspeedextena); |
1284 | | - mad_set_field(pi, 0, IB_PORT_LINK_SPEED_EXT_SUPPORTED_F, LINKSPEEDEXT_HDR_EDR_FDR); |
| 1290 | + mad_set_field(pi, 0, IB_PORT_LINK_SPEED_EXT_SUPPORTED_F, LINKSPEEDEXT_NDR_HDR_EDR_FDR); |
1285 | 1291 | mad_set_field(pi, 0, IB_PORT_LINK_SPEED_EXT_ACTIVE_F, p->linkspeedext); |
1286 | 1292 | } else { |
1287 | 1293 | mad_set_field(pi, 0, IB_PORT_LINK_SPEED_EXT_ENABLED_F, 0); |
|
0 commit comments