]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00238237-1 mx6sl: csi/v4l: fix camera picture flickering issue
authorRobby Cai <R63905@freescale.com>
Wed, 26 Dec 2012 07:26:39 +0000 (15:26 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:50 +0000 (08:35 +0200)
commit58f8179f35f73f97d585a514e918ee8b64d303f7
treee3282d1cba7ebad668cafe9370e0b007d8d2aa9c
parenta4e0983f26b3246066b484908c8cbb928cf27f28
ENGR00238237-1 mx6sl: csi/v4l: fix camera picture flickering issue

Flickering issue happens when there's no buffer to be processed(e.g., the
pace of QBUF is much slower than DQBUF). The cause is the hardware is using
double buffering, while the driver has no good protection at above case and
thus the CSI will fill the buffer not in the right order. The way to fix is
refining the output of the working_q buffer list, that is, if there's no buffer
to be processed then output to a dummy buffer.

Another important change is to only do DMA reflash operation when SOF is
detected in streamon. Remove this operation is CSI interrupt handler because
it violates to the SPEC (only do DMA reflash before DMA is enabled but NOT at
the time or after DMA's enabled).

Signed-off-by: LiGang <b41990@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 0c4584763fa44b01a2f48198fa27c9206a116164)
drivers/media/video/mxc/capture/csi_v4l2_capture.c
drivers/media/video/mxc/capture/fsl_csi.c
drivers/media/video/mxc/capture/mxc_v4l2_capture.h