Edit online

接口设计

Read time: 2 minute(s)

应用通过 hal_ge_open 打开 GE 驱动。

1. IOC_GE_VERSION
接口语法:
int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd, unsinged int *pversion);

功能说明

获取 GE 版本

参数

cmd:IOC_GE_VERSION
pversion: 指向 32bits 无符号版本号指针

返回值

0:成功
<0:失败

注意事项

2. IOC_GE_MODE
接口语法:
int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd, enum ge_mode *mode);

功能说明

获取工作模式

参数

cmd:IOC_GE_MODE
mode: enum ge_mode 指针

返回值

0:成功
<0:失败

注意事项

3. IOC_GE_FILLRECT
接口语法:
int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd, struct ge_fillrect *fill);

功能说明

矩形填充

参数

cmd:IOC_GE_FILLRECT
fill: 指向 struct ge_fillrect 指针

返回值

0:成功
<0:失败

注意事项

仅供 normal 模式使用, cmd queue 模式不可用

4. IOC_GE_BITBLT
接口语法:
int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd, struct ge_bitblt *bitblt);

功能说明

位块搬移

参数

cmd:IOC_GE_BITBLT
bitblt: 指向 struct ge_bitblt 指针

返回值

0:成功
<0:失败

注意事项

仅供 normal 模式使用, cmd queue 模式不可用

5. IOC_GE_ROTATE
接口语法:
int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd, struct ge_rotation *rot);

功能说明

任意角度旋转

参数

cmd:IOC_GE_ROTATE
rot: 指向 struct ge_rotation 指针

返回值

0:成功
<0:失败

注意事项

仅供 normal 模式使用, cmd queue 模式不可用

6. IOC_GE_SYNC
接口语法:
int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd);

功能说明

等待任务完成

参数

cmd:IOC_GE_SYNC

返回值

0:成功
<0:失败

注意事项

7. IOC_GE_CMD_BUF_SIZE
接口语法:
int ioctl(int fd, unsigned long cmd, unsinged int *size);

功能说明

获取 cmd buffer size

参数

cmd:IOC_GE_CMD_BUF_SIZE
size: 指向 32bits 无符号数指针

返回值

0:成功
<0:失败

注意事项

cmd queue 模式可用,normal 模式不可用