Sakari Ailus wrote: <snip> > (FYI: your lines are quite long, well over 80 characters.) Should be better now, thanks. <snip> > >> Here's my suggestion for a fix, hopefully Laurent or Sakari can comment on it: >> >> --- a/drivers/media/video/isp/ispccdc.c >> +++ b/drivers/media/video/isp/ispccdc.c >> @@ -1477,7 +1477,7 @@ static void ispccdc_vd1_isr(struct isp_ccdc_device *ccdc) >> spin_lock_irqsave(&ccdc->lsc.req_lock, flags); >> >> /* We are about to stop CCDC and/without LSC */ >> - if ((ccdc->output & CCDC_OUTPUT_MEMORY) || >> + if ((ccdc->output & CCDC_OUTPUT_MEMORY) && >> (ccdc->state == ISP_PIPELINE_STREAM_SINGLESHOT)) >> ccdc->stopping = CCDC_STOP_REQUEST; > > Does this fix the problem? ISP_PIPELINE_STREAM_SINGLESHOT is there for > memory sources and I do not think this is a correct fix. I was also able to reproduce Bastian's problem and this fixed it for me. With the condition as it is, it says on VD1, if the output is memory, CCDC will be disabled. This is obviously not what I want just because I'm writing from CCDC to memory. So something needs to be changed in this condition for Bastian. But I'm not clear on what cases the CCDC _does_ need to be disabled here, which is why I'm unsure about the fix. > > Is your VSYNC on falling or rising edge? This is defined for CCP2 and > this is what the driver was originally written for. If it's different > (rising??), you should apply the attached wildly opportunistic patch, > which I do not expect to fix this problem, however. > > But I might be just pointing you to wrong direction, better wait for > Laurent's answer. :-) > > Cheers, > -- Michael Jones MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html