zephyr/ext
Loic Poulain d9be3f21f4 ext: hal: nxp: mcux: csi: Fix double buffering capture
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>
2019-03-26 07:44:55 -05:00
..
debug debug: CTF Tracing with POSIX backend 2019-02-01 08:56:02 -05:00
fs kconfig: Remove blank lines at the beginning/end of files 2019-03-13 07:29:42 -05:00
hal ext: hal: nxp: mcux: csi: Fix double buffering capture 2019-03-26 07:44:55 -05:00
lib modules: remove tinycbor from ext/ and use west module feature 2019-03-25 22:41:01 -04:00
CMakeLists.txt
Kconfig modules: remove tinycbor from ext/ and use west module feature 2019-03-25 22:41:01 -04:00