From: Lokesh Gupta Date: Tue, 3 Jan 2012 13:19:46 +0000 (+0100) Subject: [PORT FROM R2] atomisp: Corrupt preview on changing zoom ratio in video mode X-Git-Tag: 2.1b_release~1578 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03d6e8d980f89c1a068295d557f68cc6d1868ab2;p=kernel%2Fkernel-mfld-blackbay.git [PORT FROM R2] atomisp: Corrupt preview on changing zoom ratio in video mode BZ: 20531 When the ISP is started from within the ISR context, the condition of first invalid frame was not being handled properly. Therefore, a corrupt frame was displayed when switching the video binaries. This patch fixes this issue. Change-Id: Ia73ae4d871db91fe6c37305d0164777d1f2a07a9 Orig-Change-Id: Idfccb6437ae181fedea1ab61412c59248b29054b Signed-off-by: Lokesh Gupta Reviewed-on: http://android.intel.com:8080/30316 Reviewed-by: Koski, Anttu Reviewed-by: Kruger, Jozef Reviewed-by: Cohen, David A Reviewed-by: Wang, Wen W Tested-by: Koski, Anttu Reviewed-by: buildbot Tested-by: buildbot Reviewed-on: http://android.intel.com:8080/32444 Reviewed-by: Lampila, KalleX Tested-by: Lampila, KalleX --- diff --git a/drivers/media/video/atomisp/atomisp_cmd.c b/drivers/media/video/atomisp/atomisp_cmd.c index d335a1c..051c92a 100644 --- a/drivers/media/video/atomisp/atomisp_cmd.c +++ b/drivers/media/video/atomisp/atomisp_cmd.c @@ -330,9 +330,11 @@ irqreturn_t atomisp_isr(int irq, void *dev) if (irq_infos & SH_CSS_IRQ_INFO_FRAME_DONE) { int ret; - atomisp_buf_done(isp, 0); - if (!isp->sw_contex.invalid_frame) { + /* Signal the upper layers that a frame + * is done, only when it is a valid frame + */ + atomisp_buf_done(isp, 0); ret = atomisp_buffer_dequeue(isp, 0); if (ret) /* buffer underrun? */ diff --git a/drivers/media/video/atomisp/css/sh_css.c b/drivers/media/video/atomisp/css/sh_css.c index 547b321..72e2b90 100644 --- a/drivers/media/video/atomisp/css/sh_css.c +++ b/drivers/media/video/atomisp/css/sh_css.c @@ -204,6 +204,7 @@ struct sh_css_video_settings { { \ .output_info = DEFAULT_FRAME_INFO, \ .vf_info = DEFAULT_FRAME_INFO, \ + .invalid_first_frame = true, \ } struct sh_css {