Messages in this thread | | | From | Laurent Pinchart <> | Subject | Re: [PATCH 1/2] omap3: ISP: Fix the failure of CCDC capture during suspend/resume | Date | Tue, 30 Aug 2011 23:07:47 +0200 |
| |
Hi,
On Wednesday 10 August 2011 16:03:12 Deepthy Ravi wrote: > From: Abhilash K V <abhilash.kv@ti.com> > > 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
| |