下载
中文
注册

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

处理结果:

  • 成功:返回0。
  • 失败:返回码请参见返回码

异常处理

无。

约束说明

设备重新启动后请先清除芯片的PCIe链路误码信息。

表1 部署场景

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);
…