summaryrefslogtreecommitdiff
path: root/isp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-08-24 04:07:01 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-10-14 13:11:02 +0200
commitacd854a840dbc35796305247598853951ca921e0 (patch)
treeb76eadaa45626f6b13df1b6820fa9ef7a0699c0e /isp
parent9cf0fd2b07d3f3dc4c9ef0adcb0f0a3fb0f9fb0d (diff)
omap3isp: Don't mess up with omap3_isp_video::dequeued in pools
The dequeued field is used to track buffers that have been dequeued from the viewfinder and owned by the display. Those buffers will be handed back by the display, so they must not be requeued on the spot when the viewfinder is paused and resumed. Pools don't suffer from that problem, so don't use the dequeued field. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'isp')
-rw-r--r--isp/omap3isp.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/isp/omap3isp.c b/isp/omap3isp.c
index 8db2726..3a75d91 100644
--- a/isp/omap3isp.c
+++ b/isp/omap3isp.c
@@ -158,15 +158,12 @@ static void omap3_isp_pool_event(struct omap3_isp_pool *pool,
return;
}
- from->dequeued |= 1 << buffer.index;
from->queued--;
if (from->queued == 0)
isp->ops->unwatch_fd(from->video->fd);
/* Queue it on the other side */
- to->dequeued &= ~(1 << buffer.index);
-
if (to->queued == 0) {
if (input)
isp->ops->watch_fd(to->video->fd, OMAP3_ISP_EVENT_WRITE,
@@ -205,9 +202,6 @@ static int omap3_isp_pool_start(struct omap3_isp_pool *pool)
/* Queue all buffers for video capture. */
for (i = 0; i < pool->pool->nbufs; ++i) {
- if (pool->input->dequeued & (1 << i))
- continue;
-
buffer.index = i;
ret = v4l2_queue_buffer(pool->input->video, &buffer);