X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fqede%2Fbase%2Fbcm_osal.c;h=65837b53d063d25fc34417ad07e91262e92ff46a;hb=8ee821cfae8fe4fdc61f5265c020a490342ece0e;hp=54e5e4f98159e869a92c420126eccbf848aa1483;hpb=5018f1fc5f18d517c672559d4cc74784a579e037;p=dpdk.git diff --git a/drivers/net/qede/base/bcm_osal.c b/drivers/net/qede/base/bcm_osal.c index 54e5e4f981..65837b53d0 100644 --- a/drivers/net/qede/base/bcm_osal.c +++ b/drivers/net/qede/base/bcm_osal.c @@ -246,6 +246,28 @@ qede_get_mcp_proto_stats(struct ecore_dev *edev, } } +static void qede_hw_err_handler(void *dev, enum ecore_hw_err_type err_type) +{ + struct ecore_dev *edev = dev; + + switch (err_type) { + case ECORE_HW_ERR_FAN_FAIL: + break; + + case ECORE_HW_ERR_MFW_RESP_FAIL: + case ECORE_HW_ERR_HW_ATTN: + case ECORE_HW_ERR_DMAE_FAIL: + case ECORE_HW_ERR_RAMROD_FAIL: + case ECORE_HW_ERR_FW_ASSERT: + OSAL_SAVE_FW_DUMP(0); /* Using port 0 as default port_id */ + break; + + default: + DP_NOTICE(edev, false, "Unknown HW error [%d]\n", err_type); + return; + } +} + void qede_hw_err_notify(struct ecore_hwfn *p_hwfn, enum ecore_hw_err_type err_type) { @@ -275,6 +297,9 @@ qede_hw_err_notify(struct ecore_hwfn *p_hwfn, enum ecore_hw_err_type err_type) } DP_ERR(p_hwfn, "HW error occurred [%s]\n", err_str); + + qede_hw_err_handler(p_hwfn->p_dev, err_type); + ecore_int_attn_clr_enable(p_hwfn->p_dev, true); } @@ -289,3 +314,9 @@ u32 qede_crc32(u32 crc, u8 *ptr, u32 length) } return crc; } + +void qed_set_platform_str(struct ecore_hwfn *p_hwfn, + char *buf_str, u32 buf_size) +{ + snprintf(buf_str, buf_size, "%s.", rte_version()); +}