RE: [PATCH 1/2] omap3: ISP: Fix the failure of CCDC capture duringsuspend/resume

From: Koyamangalath, Abhilash
Date: Wed Sep 07 2011 - 12:42:42 EST




On Tue, Aug 30, 2011 Laurent Pinchart wrote:
> 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 ?
[Abhilash K V]Yes, I believe this issue would crop with preview and resizer too though I have
not been able to try these out.
>
> --
> 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/