Re: [PATCH 1/2] omap3: ISP: Fix the failure of CCDC capture during suspend/resume

From: Laurent Pinchart
Date: Tue Aug 30 2011 - 17:07:32 EST


Hi,

On Wednesday 10 August 2011 16:03:12 Deepthy Ravi wrote:
> From: Abhilash K V <abhilash.kv@xxxxxx>
>
> While resuming from the "suspended to memory" state,
> occasionally CCDC fails to get enabled and thus fails
> to capture frames any more till the next suspend/resume
> is issued.
> This is a race condition which happens only when a CCDC
> frame-completion ISR is pending even as ISP device's
> isp_pm_prepare() is getting called and only one buffer
> is left on the DMA queue.
> The DMA queue buffers are thus depleted which results in
> its underrun.So when ISP resumes there are no buffers on
> the queue (as the application which can issue buffers is
> yet to resume) to start video capture.
> This fix addresses this issue by dequeuing and enqueing
> the last buffer in isp_pm_prepare() after its DMA gets
> completed. Thus,when ISP resumes it always finds atleast
> one buffer on the DMA queue - this is true if application
> uses only 3 buffers.

How is that problem specific to the CCDC ? Can't it be reproduce at the
preview engine or resizer output as well ?

--
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/