10 | | A single CMA channel transfers continuously data from an infinite stream of buffers (source ''chbuf'') to another infinite stream of buffers (destination ''chbuf''). |
| 10 | A single CMA channel transfers a stream of data from a set of chained buffers (source ''chbuf'') to another set of chained buffers (destination ''chbuf''). This controller implements two modes to scan the source and destination chbufs: |
| 11 | * '''IN_ORDER_FIFO''' : The chained buffers are read and write in strict order, with a blocking polling policy to access both the expected source chbuf and the expected destination chbuf. The waiting delay between two accesses is defined, for each channel, by the CHBUF_PERIOD addressable register, and must be non zero to activate this mode. |
| 12 | * '''OUT OF ORDER''' : The controller scan the source buffers, and the first full buffer found is read. Similarly, the controller scan the destination buffers, and the first empty buffer found is written, with a round robin priority for the search. This mode is activated when the CHBUF_PERIOD value is zero (default value). |
| 13 | |