dcmi_get_device_ecc_info接口原型
函数原型
int dcmi_get_device_ecc_info(int card_id, int device_id, enum dcmi_device_type input_type, struct dcmi_ecc_info *device_ecc_info)
功能说明
获取ECC信息。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
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]。 |
device_type |
输入 |
enum dcmi_device_type |
组件类型 enum dcmi_device_type { DCMI_DEVICE_TYPE_DDR, DCMI_DEVICE_TYPE_SRAM, DCMI_DEVICE_TYPE_HBM, DCMI_DEVICE_TYPE_NPU, DCMI_HBM_RECORDED_SINGLE_ADDR, DCMI_HBM_RECORDED_MULTI_ADDR, DCMI_DEVICE_TYPE_NONE = 0xff }; 目前支持DCMI_DEVICE_TYPE_DDR//ddr类型内存。 |
device_ecc_info |
输出 |
struct dcmi_ecc_info * |
返回ECC结构体信息: struct dcmi_ecc_info { int enable_flag; unsigned int single_bit_error_cnt; //单bit错误数量 unsigned int double_bit_error_cnt; //多bit错误数量 unsigned int total_single_bit_error_cnt; // 生命周期内所有单bit ecc错误统计 unsigned int total_double_bit_error_cnt; // 生命周期内所有多bit ecc错误统计 unsigned int single_bit_isolated_pages_cnt; //单bit错误隔离内存页数量 unsigned int double_bit_isolated_pages_cnt; //多bit错误隔离内存页数量 }; 其中,enable_flag输出0,表示ecc检测未使能;enable_flag输出1,表示ecc检测使能。 |
返回值
类型 |
描述 |
---|---|
int |
处理结果:
|
异常处理
无。
约束说明
Linux物理机 |
Linux物理机容器 |
|
root用户 |
运行用户组(非root用户) |
root用户 |
Y |
Y |
N |
调用示例
… int ret = 0; int card_id = 1; int device_id = 0; struct dcmi_ecc_info device_ecc_info = {0}; ret = dcmi_get_device_ecc_info(card_id, device_id, DCMI_DEVICE_TYPE_DDR, &device_ecc_info); if (ret != 0){ //todo:记录日志 return ret; } …