Thanks for the feedback. See my reply inline.
From: Huaqi Fang [mailto:Huaqi.Fang(a)synopsys.com]
Sent: Thursday, January 12, 2017 10:25 PM
First thanks for proposal about DMA API update.
I want to post some of our use cases and requirements around DMA
API, since I am working on Designware ARC Core support in Synopsys, our
hardware platform EMSK is already supported in zephyr, and in EMSK 2.2
version, there is a uDMA component in it.
For uDMA component description:
1. As other developers said, for DMA transfers, there are different
types of transfer, single list transfer, linked list transfer. But it seems in this
API proposal, there is no consideration.
2. In ARC core, it has many aux registers, and the DMA support not
just memory to memory, or memory to peripheral, it also support memory to
aux interface. Maybe some other DMA component also support different
dma_slot field has 6 bits and it can cater for 64 different handshake interfaces.
3. For DMA transfer, each burst transfer can be auto-requested or
manual requested by peripheral interface signal.
It has been taken care already. (HW or SW).
Currently we have uDMA driver for ARC in embARC project:
https://www.embarc.org/, if you want to take a look at it, you can register an
account and download it.
I post our use cases and requirements here, so hopes that the DMA
API can take these into consideration.