接口设计
29 Nov 2024
Read time: 2 minute(s)
用户态通过 /dev/ge 节点打开 GE 驱动。
- IOC_GE_VERSION接口语法:
int ioctl(int fd, unsigned long cmd, unsinged int *pversion);
表 1. IOC_GE_VERSION 功能说明 获取 GE 版本 参数 cmd:IOC_GE_VERSION pversion: 指向 32 bits 无符号版本号指针
返回值 0:成功 <0:失败
注意事项 - - IOC_GE_MODE接口语法:
int ioctl(int fd, unsigned long cmd, enum ge_mode *mode);
功能说明 获取工作模式 参数 cmd:IOC_GE_MODE mode: enum ge_mode 指针
返回值 0:成功 <0:失败
注意事项 无 - IOC_GE_FILLRECT接口语法:
int ioctl(int fd, unsigned long cmd, struct ge_fillrect *fill);
功能说明 矩形填充 参数 cmd:IOC_GE_FILLRECT fill: 指向 fillrect 指针
返回值 0:成功 <0:失败
注意事项 仅供 normal 模式使用, cmd queue 模式不可用 - IOC_GE_BITBLT接口语法:
int ioctl(int fd, unsigned long cmd, struct ge_bitblt *bitblt);
功能说明 位块搬移 参数 - cmd:IOC_GE_BITBLT
- bitblt: 指向 bitblt 指针
返回值 0:成功 <0:失败
注意事项 仅供 normal 模式使用, cmd queue 模式不可用 - IOC_GE_ROTATE
int ioctl(int fd, unsigned long cmd, struct ge_rotation *rot);
功能说明 任意角度旋转 参数 - cmd:IOC_GE_ROTATE
- rot: 指向 rotation 指针
返回值 0:成功 <0:失败
注意事项 仅供 normal 模式使用, cmd queue 模式不可用 - IOC_GE_SYNC接口语法:
int ioctl(int fd, unsigned long cmd);
功能说明 等待任务完成 参数 cmd:IOC_GE_SYNC 返回值 0:成功 <0:失败
注意事项 - - 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 模式不可用 -
IOC_GE_ADD_DMA_BUF
接口语法:
intioctl(intfd,unsignedlongcmd,structdma_buf_info*buf);
功能说明 添加 DMA buffer 参数 - cmd:IOC_GE_ADD_DMA_BUF
- buf: 指向 info 指针
返回值 0:成功 <0:失败
注意事项 - - IOC_GE_RM_DMA_BUF接口语法:
int ioctl(int fd, unsigned long cmd, struct dma_buf_info *buf);
功能说明 删除 DMA buffer 参数 - cmd:IOC_GE_RM_DMA_BUF
- buf: 指向 info 指针
返回值 0:成功 <0:失败
注意事项 无