This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How does the ioctl know the vpfe had completed to capture a whole frame ?

In the linux-2.6.18_pro500\drivers\media\video\davinci\davinci_vpfe.c
      
======== vpfe_doioctl ========
  ...
 case VIDIOC_STREAMON:
 ...
  ccdc_enable(TRUE);
  up(&vpfe->lock);
  dev_dbg(vpfe_dev, "started video streaming.\n");
  break;
  ...

the vpfe start to capture data after ccdc_enable(TRUE);

but how does the ioctl know the vpfe had completed to capture a whole frame ?

If the vpfe didn't capture a whole frame and the ioctl return,

Does the user will get a wrong data ?

Thanks