|
@@ -2418,14 +2418,9 @@ static int pma_get_opa_portstatus(struct opa_pma_mad *pmp,
|
|
|
rsp->port_rcv_remote_physical_errors =
|
|
|
cpu_to_be64(read_dev_cntr(dd, C_DC_RMT_PHY_ERR,
|
|
|
CNTR_INVALID_VL));
|
|
|
- tmp = read_dev_cntr(dd, C_DC_RX_REPLAY, CNTR_INVALID_VL);
|
|
|
- tmp2 = tmp + read_dev_cntr(dd, C_DC_TX_REPLAY, CNTR_INVALID_VL);
|
|
|
- if (tmp2 < tmp) {
|
|
|
- /* overflow/wrapped */
|
|
|
- rsp->local_link_integrity_errors = cpu_to_be64(~0);
|
|
|
- } else {
|
|
|
- rsp->local_link_integrity_errors = cpu_to_be64(tmp2);
|
|
|
- }
|
|
|
+ rsp->local_link_integrity_errors =
|
|
|
+ cpu_to_be64(read_dev_cntr(dd, C_DC_RX_REPLAY,
|
|
|
+ CNTR_INVALID_VL));
|
|
|
tmp = read_dev_cntr(dd, C_DC_SEQ_CRC_CNT, CNTR_INVALID_VL);
|
|
|
tmp2 = tmp + read_dev_cntr(dd, C_DC_REINIT_FROM_PEER_CNT,
|
|
|
CNTR_INVALID_VL);
|
|
@@ -2520,9 +2515,8 @@ static u64 get_error_counter_summary(struct ib_device *ibdev, u8 port,
|
|
|
error_counter_summary += read_dev_cntr(dd, C_DC_RMT_PHY_ERR,
|
|
|
CNTR_INVALID_VL);
|
|
|
/* local link integrity must be right-shifted by the lli resolution */
|
|
|
- tmp = read_dev_cntr(dd, C_DC_RX_REPLAY, CNTR_INVALID_VL);
|
|
|
- tmp += read_dev_cntr(dd, C_DC_TX_REPLAY, CNTR_INVALID_VL);
|
|
|
- error_counter_summary += (tmp >> res_lli);
|
|
|
+ error_counter_summary += (read_dev_cntr(dd, C_DC_RX_REPLAY,
|
|
|
+ CNTR_INVALID_VL) >> res_lli);
|
|
|
/* link error recovery must b right-shifted by the ler resolution */
|
|
|
tmp = read_dev_cntr(dd, C_DC_SEQ_CRC_CNT, CNTR_INVALID_VL);
|
|
|
tmp += read_dev_cntr(dd, C_DC_REINIT_FROM_PEER_CNT, CNTR_INVALID_VL);
|
|
@@ -2791,14 +2785,9 @@ static void pma_get_opa_port_ectrs(struct ib_device *ibdev,
|
|
|
rsp->port_rcv_constraint_errors =
|
|
|
cpu_to_be64(read_port_cntr(ppd, C_SW_RCV_CSTR_ERR,
|
|
|
CNTR_INVALID_VL));
|
|
|
- tmp = read_dev_cntr(dd, C_DC_RX_REPLAY, CNTR_INVALID_VL);
|
|
|
- tmp2 = tmp + read_dev_cntr(dd, C_DC_TX_REPLAY, CNTR_INVALID_VL);
|
|
|
- if (tmp2 < tmp) {
|
|
|
- /* overflow/wrapped */
|
|
|
- rsp->local_link_integrity_errors = cpu_to_be64(~0);
|
|
|
- } else {
|
|
|
- rsp->local_link_integrity_errors = cpu_to_be64(tmp2);
|
|
|
- }
|
|
|
+ rsp->local_link_integrity_errors =
|
|
|
+ cpu_to_be64(read_dev_cntr(dd, C_DC_RX_REPLAY,
|
|
|
+ CNTR_INVALID_VL));
|
|
|
rsp->excessive_buffer_overruns =
|
|
|
cpu_to_be64(read_dev_cntr(dd, C_RCV_OVF, CNTR_INVALID_VL));
|
|
|
}
|
|
@@ -3156,10 +3145,8 @@ static int pma_set_opa_portstatus(struct opa_pma_mad *pmp,
|
|
|
if (counter_select & CS_PORT_RCV_REMOTE_PHYSICAL_ERRORS)
|
|
|
write_dev_cntr(dd, C_DC_RMT_PHY_ERR, CNTR_INVALID_VL, 0);
|
|
|
|
|
|
- if (counter_select & CS_LOCAL_LINK_INTEGRITY_ERRORS) {
|
|
|
- write_dev_cntr(dd, C_DC_TX_REPLAY, CNTR_INVALID_VL, 0);
|
|
|
+ if (counter_select & CS_LOCAL_LINK_INTEGRITY_ERRORS)
|
|
|
write_dev_cntr(dd, C_DC_RX_REPLAY, CNTR_INVALID_VL, 0);
|
|
|
- }
|
|
|
|
|
|
if (counter_select & CS_LINK_ERROR_RECOVERY) {
|
|
|
write_dev_cntr(dd, C_DC_SEQ_CRC_CNT, CNTR_INVALID_VL, 0);
|
|
@@ -3956,7 +3943,6 @@ void clear_linkup_counters(struct hfi1_devdata *dd)
|
|
|
write_dev_cntr(dd, C_DC_SEQ_CRC_CNT, CNTR_INVALID_VL, 0);
|
|
|
write_dev_cntr(dd, C_DC_REINIT_FROM_PEER_CNT, CNTR_INVALID_VL, 0);
|
|
|
/* LocalLinkIntegrityErrors */
|
|
|
- write_dev_cntr(dd, C_DC_TX_REPLAY, CNTR_INVALID_VL, 0);
|
|
|
write_dev_cntr(dd, C_DC_RX_REPLAY, CNTR_INVALID_VL, 0);
|
|
|
/* ExcessiveBufferOverruns */
|
|
|
write_dev_cntr(dd, C_RCV_OVF, CNTR_INVALID_VL, 0);
|