昇腾社区首页
中文
注册
开发者
下载

dcmi_get_serdes_full_eye接口原型

函数原型

int dcmi_get_serdes_full_eye(int card_id, int device_id, struct dcmi_serdes_full_eye *serdes_full_eye_info)

功能说明

查询指定NPU某个macro端口一条lane的全眼图信息,当前仅支持查询内眼垂直扫描模式下的复合眼图。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

设备ID,当前实际支持的ID通过dcmi_get_card_num_list接口获取。

device_id

输入

int

芯片ID,通过dcmi_get_device_id_in_card接口获取。取值范围如下:

NPU芯片:[0, device_id_max-1]。

serdes_full_eye_info

输入/输出

dcmi_serdes_full_eye *

查询全眼图信息的结构体。该全眼图为内眼垂直扫描模式下的复合眼图。

每个lane的全眼图数据最大包含256组数据点,每组数据里包含偏移量和偏移量对应的两个坐标数据。

相关结构体定义如下

#define SERDES_FULL_EYE_INFO_NUM 256

#define SERDES_FULL_EYE_RESERVED_LEN 8

struct dcmi_serdes_full_eye_base {

int offset; // 偏移量

int eye_diagram_0; // 该偏移量对应的坐标数据0

int eye_diagram_1; // 该偏移量对应的坐标数据1

};

typedef struct dcmi_serdes_full_eye {

unsigned int macro_id; // 需查询的macro端口号,仅支持h32 macro端口,取值为9或10

unsigned int lane_id; // 需查询的lane

unsigned int reserved[SERDES_FULL_EYE_RESERVED_LEN]; // 预留字段

unsigned int info_size; // 返回的全眼图结果数据长度

struct dcmi_serdes_full_eye_base serdes_full_eye[SERDES_FULL_EYE_INFO_NUM]; // 每组全眼图数据信息

} DCMI_SERDES_FULL_EYE;

返回值说明

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

表1 不同部署场景下的支持情况

物理机场景(裸机)

物理机+普通容器场景

root用户

运行用户组(非root用户)

root用户

N

N

N

注:Y表示支持;N表示不支持;NA表示不涉及,当前未规划此场景。

调用示例

…   
int ret = 0;  
 int card_id = 0;  
 int device_id = 0;  
 struct dcmi_serdes_full_eye serdes_full_eye_info = {
          .macro_id = 9,
          .lane_id = 0,
          .serdes_full_eye = {0} 
 } 
 ret = dcmi_get_serdes_full_eye(card_id, device_id, &serdes_full_eye_info);  
…