d9be3f21f4
In case of double buffering (two capture buffers), the CSI is frequently starved because of a lack of buffer in the active pool. You can find below an example of double buffering scenario: FREE_BUF ACTIVE_BUF start: 0 2 frame0_complete: 0 1 (no buffer to load in active) resubmit_frame0: 1 1 frame1_complete: 1 0 (CSI stopped, active buf = 0) resubmit_frame1: 2 0 0 -> 2 (CSI restarted) This patch solves this issue by loading buffer to active at submit time. FREE_BUF ACTIVE_BUF start: 0 2 frame0_complete: 0 1 resubmit_frame0: 1 1 0 -> 2 (Direct load to active) frame1_complete: 0 1 resubmit_frame1: 1 1 0 -> 2 ... Signed-off-by: Loic Poulain <loic.poulain@linaro.org> |
||
---|---|---|
.. | ||
debug | ||
fs | ||
hal | ||
lib | ||
CMakeLists.txt | ||
Kconfig |