]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commit
media: tegra_camera: fix syncpoint time out issue
authorBryan Wu <pengw@nvidia.com>
Thu, 10 Dec 2015 21:53:40 +0000 (13:53 -0800)
committermobile promotions <svcmobile_promotions@nvidia.com>
Wed, 23 Dec 2015 10:01:48 +0000 (02:01 -0800)
commit51740177798872c458b0b8e6715725947b270dad
treed9dfff52666fb89c7965f2d402193fd8ffe4614f
parent09a6918ce2601cee00787a0aa0bad6e669bb2efc
media: tegra_camera: fix syncpoint time out issue

The pixel parser is reset in each call to vi2_channel_capture_done()
and then the VI is not well configured anymore for next incoming
frames. By removing this reset, the capture is working again.

However, the second thread (for done buffer process) is woken up too
soon and the stream is corrupted: the buffer contains a mix of the
last and new frame captured. In order to remove this effect, the
wake_up_interruptible(&chan->done_wait) call should be done later, just
after the wait of FRAME_START syncpoint. It permits to wait that the
FRAME_START occurs before enabling and waiting the MW_ACK_DONE
syncpoint.

Bug 1705779

Change-Id: I561e2fb191426abfa358a689985540f0ca8f35b8
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/922773
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
drivers/media/platform/soc_camera/tegra_camera/vi2.c