dsmi_get_pcie_error_rate
Prototype
int dsmi_get_pcie_error_rate(int device_id, struct dsmi_chip_pcie_err_rate_stru *pcie_err_code_info)
Description
Obtains the bit error information of a PCIe link.
For the Ascend 310 AI Processor, this API supports mini modules (EP) and standard PCIe cards.
Parameters
Parameter |
Input/Output |
Description |
---|---|---|
device_id |
Input |
Device ID For Ascend 310 AI Processors, the value range is 0–63. Obtain the actual device ID by calling dsmi_list_device. |
pcie_err_code_info |
Output |
typedef struct dsmi_chip_pcie_err_rate_stru { unsigned int reg_deskew_fifo_overflow_intr_status; unsigned int reg_symbol_unlock_intr_status; unsigned int reg_deskew_unlock_intr_status; unsigned int reg_phystatus_timeout_intr_status; unsigned int symbol_unlock_counter; unsigned int pcs_rx_err_cnt; unsigned int phy_lane_err_counter; unsigned int pcs_rcv_err_status; unsigned int symbol_unlock_err_status; unsigned int phy_lane_err_status; unsigned int dl_lcrc_err_num; unsigned int dl_dcrc_err_num; } PCIE_ERR_RATE_INFO_STU; |
Returns
Type |
Description |
---|---|
int |
0 on success; else, failure |
Restrictions
Run the caller application as the root user on a physical machine. Otherwise, a permission error is returned.
This API works with Firmware 1.73.5.6.50 or later.
Example
int ret = 0; int device_id = 0; char *pcie_err_code_info = NULL; pcie_err_code_info = (struct dsmi_chip_pcie_err_rate_stru *) malloc(sizeof(struct dsmi_chip_pcie_err_rate_stru)); if(!pcie_err_code_info) { return –EINVAL; } ret=dsmi_get_pcie_err_rate(device_id, pcie_err_code_info); if(ret != 0){ //To-do: records logs. free(pcie_err_code_info); return ret; } ...