[1/2] omap3isp: video: Decouple buffer obtaining and set ISP entities format
Commit Message
The ISP driver release the last buffer (waking up the pending process)
before returning the next buffer to the caller. This is done on the VD0
interrupt handler. But, by the time the CCDC is executing the VD0 interrupt
handler some ISP registers like CCDC_SDR_ADDR are shadowed which means that
the values written to it will not take effect until the next frame starts.
We have to configure the CCDC during the processing of the current frame in
the VD1 interrupt handler. This means the next buffer obtaining and the
last buffer releasing occur at different moments. So we have to decouple
these two actions.
Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
---
drivers/media/video/omap3isp/ispvideo.c | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
@@ -635,10 +635,6 @@ struct isp_buffer *omap3isp_video_buffer_next(struct isp_video *video,
else
buf->vbuf.sequence = atomic_read(&pipe->frame_number);
- buf->state = error ? ISP_BUF_STATE_ERROR : ISP_BUF_STATE_DONE;
-
- wake_up(&buf->wait);
-
if (list_empty(&video->dmaqueue)) {
if (queue->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
state = ISP_PIPELINE_QUEUE_OUTPUT