Commit 6d014530 authored by Dean Luick's avatar Dean Luick Committed by Greg Kroah-Hartman

staging/rdma/hfi1: unknown frame messages are not errors

Change reported unknown frame messages into a counter.
These are informational, no errors.
Reviewed-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: default avatarDean Luick <dean.luick@intel.com>
Signed-off-by: default avatarJubin John <jubin.john@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 56af5543
...@@ -1418,6 +1418,17 @@ static u64 access_sw_link_up_cnt(const struct cntr_entry *entry, void *context, ...@@ -1418,6 +1418,17 @@ static u64 access_sw_link_up_cnt(const struct cntr_entry *entry, void *context,
return read_write_sw(ppd->dd, &ppd->link_up, mode, data); return read_write_sw(ppd->dd, &ppd->link_up, mode, data);
} }
static u64 access_sw_unknown_frame_cnt(const struct cntr_entry *entry,
void *context, int vl, int mode,
u64 data)
{
struct hfi1_pportdata *ppd = (struct hfi1_pportdata *)context;
if (vl != CNTR_INVALID_VL)
return 0;
return read_write_sw(ppd->dd, &ppd->unknown_frame_count, mode, data);
}
static u64 access_sw_xmit_discards(const struct cntr_entry *entry, static u64 access_sw_xmit_discards(const struct cntr_entry *entry,
void *context, int vl, int mode, u64 data) void *context, int vl, int mode, u64 data)
{ {
...@@ -4879,6 +4890,8 @@ static struct cntr_entry port_cntrs[PORT_CNTR_LAST] = { ...@@ -4879,6 +4890,8 @@ static struct cntr_entry port_cntrs[PORT_CNTR_LAST] = {
access_sw_link_dn_cnt), access_sw_link_dn_cnt),
[C_SW_LINK_UP] = CNTR_ELEM("SwLinkUp", 0, 0, CNTR_SYNTH | CNTR_32BIT, [C_SW_LINK_UP] = CNTR_ELEM("SwLinkUp", 0, 0, CNTR_SYNTH | CNTR_32BIT,
access_sw_link_up_cnt), access_sw_link_up_cnt),
[C_SW_UNKNOWN_FRAME] = CNTR_ELEM("UnknownFrame", 0, 0, CNTR_NORMAL,
access_sw_unknown_frame_cnt),
[C_SW_XMIT_DSCD] = CNTR_ELEM("XmitDscd", 0, 0, CNTR_SYNTH | CNTR_32BIT, [C_SW_XMIT_DSCD] = CNTR_ELEM("XmitDscd", 0, 0, CNTR_SYNTH | CNTR_32BIT,
access_sw_xmit_discards), access_sw_xmit_discards),
[C_SW_XMIT_DSCD_VL] = CNTR_ELEM("XmitDscdVl", 0, 0, [C_SW_XMIT_DSCD_VL] = CNTR_ELEM("XmitDscdVl", 0, 0,
...@@ -7235,6 +7248,11 @@ static void handle_8051_interrupt(struct hfi1_devdata *dd, u32 unused, u64 reg) ...@@ -7235,6 +7248,11 @@ static void handle_8051_interrupt(struct hfi1_devdata *dd, u32 unused, u64 reg)
} }
err &= ~(u64)FAILED_LNI; err &= ~(u64)FAILED_LNI;
} }
/* unknown frames can happen durning LNI, just count */
if (err & UNKNOWN_FRAME) {
ppd->unknown_frame_count++;
err &= ~(u64)UNKNOWN_FRAME;
}
if (err) { if (err) {
/* report remaining errors, but do not do anything */ /* report remaining errors, but do not do anything */
dd_dev_err(dd, "8051 info error: %s\n", dd_dev_err(dd, "8051 info error: %s\n",
......
...@@ -1078,6 +1078,7 @@ enum { ...@@ -1078,6 +1078,7 @@ enum {
C_RX_WORDS, C_RX_WORDS,
C_SW_LINK_DOWN, C_SW_LINK_DOWN,
C_SW_LINK_UP, C_SW_LINK_UP,
C_SW_UNKNOWN_FRAME,
C_SW_XMIT_DSCD, C_SW_XMIT_DSCD,
C_SW_XMIT_DSCD_VL, C_SW_XMIT_DSCD_VL,
C_SW_XMIT_CSTR_ERR, C_SW_XMIT_CSTR_ERR,
......
...@@ -713,6 +713,8 @@ struct hfi1_pportdata { ...@@ -713,6 +713,8 @@ struct hfi1_pportdata {
u64 link_downed; u64 link_downed;
/* number of times link retrained successfully */ /* number of times link retrained successfully */
u64 link_up; u64 link_up;
/* number of times a link unknown frame was reported */
u64 unknown_frame_count;
/* port_ltp_crc_mode is returned in 'portinfo' MADs */ /* port_ltp_crc_mode is returned in 'portinfo' MADs */
u16 port_ltp_crc_mode; u16 port_ltp_crc_mode;
/* port_crc_mode_enabled is the crc we support */ /* port_crc_mode_enabled is the crc we support */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment