Is the DPU accessible directly through libdrm?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is the DPU accessible directly through libdrm?

Jump to solution
806 Views
crg7475
Contributor III

On the i.MX8 QuadMax, the DPU is accessible through an emulated G2D API. (The GPU on that SoC has no actual 2D core.) This means that the binary-only libg2d.so is the only way for applications to control and use the DPU (for example, for pixel format conversions and Amphion Malone frame detiling).

Or ... is it maybe possible to bypass G2D and use the DPU through libdrm? I can't find any API docs or command list. The libdrm NXP fork contains calls that can pass commands to the DPU, but not much more than that.

0 Kudos
1 Solution
772 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The dpu driver is dpu-blit.c,but there is no any description about this cmd list.

 

can my own code use this

->The driver can accept ioctl from user space, so you can use this DRM_IOCTL_IMX_DPU_SET_CMDLIST flag in drmioctl.

But you need research dpu-blit.c.

 

View solution in original post

0 Kudos
3 Replies
792 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The libdrm api can directly operate DPU.

0 Kudos
786 Views
crg7475
Contributor III

Okay, but can my own code use this? I can't find a list of DPU commands that I can use with libdrm for example. In include/drm/imx_drm.h , I find DRM_IOCTL_IMX_DPU_SET_CMDLIST , DRM_IOCTL_IMX_DPU_WAIT , DRM_IOCTL_IMX_DPU_GET_PARAM , and a couple of structs. But what would that cmdlist look like for example?

0 Kudos
773 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The dpu driver is dpu-blit.c,but there is no any description about this cmd list.

 

can my own code use this

->The driver can accept ioctl from user space, so you can use this DRM_IOCTL_IMX_DPU_SET_CMDLIST flag in drmioctl.

But you need research dpu-blit.c.

 

0 Kudos