AnsweredAssumed Answered

How to achieve the best IPU copy throughput on i.MX6?

Question asked by Fredrik Moller on Dec 3, 2014
Latest reply on Jun 30, 2016 by Jackson

Use case: Copy buffer from A to B using the IPU's internal DMA engine.

 

I developed a driver for a RTOS which uses the Image Converter sub-module and IDMAC channels 47 and 50.The ROT, FLR and FUD options are all set to zero (i.e. no actual rotation and no image flipping). Pixel size is three bytes. Buffers are placed in SDRAM.

 

With these settings a throughput of 120MB/s is achieved for 3MB buffers (== 1024*1024 pixels). This is significantly worse than memcpy() at about 350MB/s as well as the documented pixel rate of 100Mpixels/s (==300MB/s) in the imx6 reference manual ch. 38.1.2.1.5.3.

 

What can I do to achive better throughput with the IPU? (Note that the SDMA can't be used because that won't work with PCIe, which I want to use).

Outcomes