接口设计
15 Jan 2024
Read time: 1 minute(s)
应用通过 hal_ge_open 打开 GE 驱动。
接口语法:int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd, unsinged int *pversion); | |
|---|---|
| 功能说明 | 获取 GE 版本 |
| 参数 |
cmd:IOC_GE_VERSION
pversion: 指向 32bits 无符号版本号指针
|
| 返回值 |
0:成功
<0:失败
|
| 注意事项 | 无 |
接口语法: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:失败
|
| 注意事项 | 无 |
接口语法: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 模式不可用 |
接口语法: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 模式不可用 |
接口语法: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 模式不可用 |
接口语法:int hal_ge_control(struct aic_ge_client *clt, unsigned long cmd); | |
|---|---|
| 功能说明 | 等待任务完成 |
| 参数 |
cmd:IOC_GE_SYNC
|
| 返回值 |
0:成功
<0:失败
|
| 注意事项 | 无 |
接口语法: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 模式不可用 |
