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

From: Laurent Pinchart
Date: Wed Sep 07 2011 - 12:33:44 EST


Hi,

On Wednesday 07 September 2011 12:10:23 Koyamangalath, Abhilash wrote:
> On Tue, Aug 30, 2011 Laurent Pinchart wrote:
> > 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 ?
>
> Yes, I believe this issue would crop with preview and resizer too though I
> have not been able to try these out.

That's my belief as well. In that case the fix should be generic, not CCDC-
specific.

--
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/