media: tegra_camera: optimize single shot mode
authorBryan Wu <pengw@nvidia.com>
Thu, 28 May 2015 00:09:45 +0000 (17:09 -0700)
committerWinnie Hsu <whsu@nvidia.com>
Sat, 20 Jun 2015 00:27:43 +0000 (17:27 -0700)
commit9a9279ad1acf717c69c00724b28ef39acc606eb7
treed51baa92f496f09e55df583982145c0f297269aa
parent554875650a0dcf0f1c8d4e8d7a56bd03b3b9a812
media: tegra_camera: optimize single shot mode

Current single shot mode, pixel parser is disabled after capture one
frame and software waits for memory write ack done syncpoint, which
only gives us half the frame rate.

Optimized single shot mode:
 - during capture setup, set single shot mode
 - for each frame, wait for FRAME_START syncpoint
 - arm single shot bit to start capture
 - for the last frame, wait for MWA_DONE syncpoint to make sure capture
   finished.

With optimized single shot mode, frame rate is about 4208x3120 @ 24fps
for IMX135 and 1920x1080 @ 30fps for AR0261.

Bug 1639982

Change-Id: I0b15d02c2853647d03f5b2d38a7fe5c145174bd5
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Reviewed-on: http://git-master/r/754709
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: David Wang (SW-TEGRA) <davidw@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
drivers/media/platform/soc_camera/tegra_camera/common.c
drivers/media/platform/soc_camera/tegra_camera/common.h
drivers/media/platform/soc_camera/tegra_camera/vi2.c