Is the DPU accessible directly through libdrm?

cancel
Showing results for 
Search instead for 
Did you mean: 

Is the DPU accessible directly through libdrm?

Jump to solution
392 Views
crg7475
Contributor II

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
358 Views
Qmiller
NXP Employee
NXP Employee

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
378 Views
Qmiller
NXP Employee
NXP Employee

The libdrm api can directly operate DPU.

0 Kudos
372 Views
crg7475
Contributor II

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
359 Views
Qmiller
NXP Employee
NXP Employee

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