Issue: When a capture session is complete an extra singleshot is
sometimes issued causing syncpt timeouts in subsequent sessions.
Fix: When a capture is complete do not issue a single shot if there
is already an active one.
Bug
200291915
Change-Id: I0616978b2144a0539980087fd356d8c30299bcd0
Signed-off-by: Ian Kaszubski <ikaszubski@nvidia.com>
Reviewed-on: http://git-master/r/
1503374
GVS: Gerrit_Virtual_Submit
Reviewed-by: Jaspreet Kaur <jkaur@nvidia.com>
Reviewed-by: Bhanu Murthy V <bmurthyv@nvidia.com>
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
val = VI_CFG_VI_INCR_SYNCPT_COND(mw_ack_done) |
chan->syncpt[index][0];
tegra_channel_write(chan, TEGRA_VI_CFG_VI_INCR_SYNCPT, val);
- csi_write(chan, index,
- TEGRA_VI_CSI_SINGLE_SHOT, SINGLE_SHOT_CAPTURE);
+ if (!csi_read(chan, index, TEGRA_VI_CSI_SINGLE_SHOT)) {
+ csi_write(chan, index,
+ TEGRA_VI_CSI_SINGLE_SHOT, SINGLE_SHOT_CAPTURE);
+ } else {
+ dev_dbg(&chan->video.dev,
+ "Syncpoint already enabled at capture done!%d\n", index);
+ }
}
for (index = 0; index < chan->valid_ports; index++) {