AnsweredAssumed Answered

How to tame IPU warnings on i.MX6

Question asked by Adrian Cox on Jun 12, 2013
Latest reply on Nov 16, 2017 by Gene Kong

I'm building an application that captures and processes video. I'm using a ADV7180 codec through the V4L2 interface, then processing frames using the IPU through the /dev/mxc_ipu interface. My processing chain includes deinterlace, overlay, colour-space conversion for VPU, H264 encoding, scaling to screen and a second overlay.  The application is multi-threaded, and issues IPU_QUEUE_TASK ioctls from multiple threads, all for memory -> memory operations.

I'm using kernel 3.0.35 on an Emtrion iMX6Q board.

 

While running this I get a lot of IPU messages:

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x40000000

 

(I also get a small number of "IDMAC17's EBA0 is not 8-byte aligned", but I know the cause of these).

 

From the reference manual these are AXIR_ERR interrupts. My processing chain is running for extended periods without dropped frames or noticeable video corruption.


What causes an AXI read error response, and how do I specify my IPU tasks to prevent it?

 

The second problem is that, if I allow kernel printk messages to the serial console, the IPU driver produces many other errors, effectively making the board unusable:

imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_10 = 0x40000000

imx-ipuv3 imx-ipuv3.0: ERR:[0xbfedea00]-no:0x3a0 "wait_for_comp_timeout" ret:0,line:2822

imx-ipuv3 imx-ipuv3.0: warning: disable ipu dma channel 14 during its busy state

imx-ipuv3 imx-ipuv3.0: warning: disable ipu dma channel 14 during its busy state

imx-ipuv3 imx-ipuv3.0: warning: disable ipu dma channel 14 during its busy state

 

These error messages continue until I reset the board.

 

I've also found that certain IPU operations, while not banned by the driver, do provoke this error state. For example, overlay combined with conversion to NV12 colour space. Is there any documentation for the /dev/mxc_ipu interface that lists legal operations?

 

Outcomes