omap3isp: timeout in ccdc_disable()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

I am looking at a case where the sensor may stop delivering data, at which point I want to do a STREAMOFF. In this case, the STREAMOFF takes 2s because of the wait_event_timeout() in ccdc_disable(). This wait waits for ccdc->stopping to be CCDC_STOP_FINISHED, which happens in two stages (only 2 because LSC is always LSC_STATE_STOPPED for me),
1. in VD1 because CCDC_STOP_REQUEST has been set by ccdc_disable()
2. in VD0 after CCDC_STOP_REQUEST had happened in VD1.

But because the data has already stopped coming from the sensor, when I do STREAMOFF, I'm no longer getting VD1/0, so ccdc->stopping will never become CCDC_STOP_FINISHED, and the wait_event_timeout() has to run its course of 2 seconds. This doesn't change the control flow in ccdc_disable(), except to print a warning "CCDC stop timeout!" and return -ETIMEDOUT to ccdc_set_stream(), which in turn returns that as its return value. But this value is ignored by its caller, isp_pipeline_disable(). It looks to me, then, like the only difference between timing out and not timing out is getting the warning message. omap3isp_sbl_disble() is called the same in both cases.

Q: Is there another reason for the wait & timeout? Is there some functional difference between timing out and not timing out? 2 seconds sounds fairly arbitrary, are there constraints on that, or could I at least lower it to speed up STREAMOFF?

I know that normally the data wouldn't stop coming from the sensor until after the CCDC is disabled, when the sensor's s_stream(0) is called. But in this case the sensor is being driven externally, and I'm trying to react to that.

thanks,
Michael

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Erhard Meier
--
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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux