dcmi_get_device_pcie_error_cnt接口原型
函数原型
int dcmi_get_device_pcie_error_cnt(int card_id, int device_id, struct dcmi_chip_pcie_err_rate *pcie_err_code_info)
功能说明
查询芯片的PCIe链路误码信息。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
card_id |
输入 |
int |
指定NPU管理单元的ID,当前实际支持的ID通过dcmi_get_card_list接口获取。 |
device_id |
输入 |
int |
指定设备编号,通过dcmi_get_device_id_in_card接口获取。取值范围如下: NPU芯片:[0, device_id_max-1]。 |
pcie_err_code_info |
输出 |
struct dcmi_chip_pcie_err_rate * |
struct dcmi_chip_pcie_err_rate { unsigned int reg_deskew_fifo_overflow_intr_status;//是否发生deskew_fifo溢出:1表示已发生,0表示未发生。 unsigned int reg_symbol_unlock_intr_status;//是否发生symbol_unlock事件:1表示已发生,0表示未发生。 unsigned int reg_deskew_unlock_intr_status;//是否发生deskew_unlock事件:1表示已发生,0表示未发生。 unsigned int reg_phystatus_timeout_intr_status;//是否发生phystatus超时事件:1表示已发生,0表示未发生。 unsigned int symbol_unlock_counter;//symbol_unlock错误计数 unsigned int pcs_rx_err_cnt;//PCS层接收错误计数 unsigned int phy_lane_err_counter;//lane错误计数 unsigned int pcs_rcv_err_status;//PCS层接收错误状态,每bit映射到每个使用的通道:1表示有错误,0表示正常。 unsigned int symbol_unlock_err_status;//symbol_unlock标志,每bit映射到每个使用的通道:1表示有错误,0表示正常。 unsigned int phy_lane_err_status;//lane错误,每bit映射到每个使用的通道:1表示有错误,0表示正常。 unsigned int dl_lcrc_err_num;//PCIe DLLP Lcrc的错误计数 unsigned int dl_dcrc_err_num;// PCIe DLLP Dcrc的错误计数 }; |
返回值
类型 |
描述 |
---|---|
int |
处理结果:
|
异常处理
无。
约束说明
设备重新启动后请先清除芯片的PCIe链路误码信息。
Linux物理机 |
Linux物理机容器 |
|
root用户 |
运行用户组(非root用户) |
root用户 |
N |
N |
N |
调用示例
int ret = 0; int card_id = 0; int device_id = 0; struct dcmi_chip_pcie_err_rate pcie_err_code_info = {0}; ret = dcmi_get_device_pcie_error_cnt(card_id, device_id, &pcie_err_code_info); …