I am using iMX6Q to receive the RAW data from OV8865 at 15fps on the kernel version 3.0.35_4.1.0 . I want to do some memory movement to construct a bitmap from the RAW data though the image quality is not good. The process takes ~20ms if the sensor is not operating. However, it becomes ~146ms when the sensor is taking photo. The MIPI signal lines show that the data transfer takes ~57ms out of 73ms of the frame. It seems that the memory movement code can be processed during the time the IPU is not receiving data, i.e. 73ms-57ms, or 16ms. Then it can explain that why my code takes ~146ms, or 2 frame duration, in the case that the sensor is working. I also try using different CPU to do the memory movement but of no use.
As the data size from the sensor is 1.2MB per frame, it seems unreasonable that the IDMAC occupy the memory bus all the time during the data transfer. Am I setting something wrong in IPU? Can anyone have hints on this?