[1/2] omap3isp: video: Decouple buffer obtaining and set ISP entities format

Message ID 1318127853-1879-2-git-send-email-martinez.javier@gmail.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Javier Martinez Canillas Oct. 9, 2011, 2:37 a.m. UTC
  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(-)
  

Patch

diff --git a/drivers/media/video/omap3isp/ispvideo.c b/drivers/media/video/omap3isp/ispvideo.c
index cc73375..c2d4cd9 100644
--- a/drivers/media/video/omap3isp/ispvideo.c
+++ b/drivers/media/video/omap3isp/ispvideo.c
@@ -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