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?
I am facing similar kind of issue with imx6Q board.
following error comes when i try to run my gstreamer application on imx6Q board.
imx-ipuv3 imx-ipuv3.0: ERR: [0xbaea9800] no-0x2fad0, timeout:1000ms!
imx-ipuv3 imx-ipuv3.0: ERR: no-0x2fad0,ipu_queue_task err:-110
mxc_v4l2_output mxc_v4l2_output.0: display work fail ret = -110
can anyone suggest the probable solution for this.
Are you using a HDMI screen? Do you see the same logs when rendering on LVDS?
Leo