mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
staging/rdma/hfi1: unknown frame messages are not errors
Change reported unknown frame messages into a counter. These are informational, no errors. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Dean Luick <dean.luick@intel.com> Signed-off-by: Jubin John <jubin.john@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
56af5543f8
commit
6d01453082
@ -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] = {
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
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 {
|
|||||||
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 {
|
|||||||
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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user