about DMA API updates proposal


Kumar Gala
 

On Feb 26, 2021, at 5:46 AM, Hake Huang <hake.huang@nxp.com> wrote:

Hi All,

I am working on enable NXP EDMA drivers to Zephyr DMA framework, and I have two DMA API changes need to discussion.
1. https://github.com/zephyrproject-rtos/zephyr/pull/28895
in this PR, I add chain_link by using the dest_chaining_en(Major) and source_chaining_en(minor).
2. https://github.com/zephyrproject-rtos/zephyr/pull/27737
in this PR, https://github.com/zephyrproject-rtos/zephyr/pull/27737/commits/25e19f5b4e4ef07b1598104a02c4722386f2f17b two helper APIs is added
dma_api_request_channel request_channel;
dma_api_release_channel release_channel;
the two APIs are for DMA engine which is capable to dynamically allocate its channels to different DMA requests. and a filter is also added in case of special DMA channel features.

Slack topic discussion is here

Can this topic be scheduled in next API meeting? Thanks.


Regards,
Hake
I wonder if we should pull this into a separate PR. I think a fair amount of the code for these APIs could be generic.

For example I think we can use some of the generic devicetree properties in "dts/bindings/dma/dma-controller.yaml”. The number space allocation code seems pretty generic, even if it just library code used by all the drivers.

- k


Hake Huang
 

Hi All,

 

I am working on enable NXP EDMA drivers to Zephyr DMA framework, and I have two DMA API changes need to discussion.

1.    https://github.com/zephyrproject-rtos/zephyr/pull/28895

in this PR, I add chain_link by using the dest_chaining_en(Major) and source_chaining_en(minor).
2. https://github.com/zephyrproject-rtos/zephyr/pull/27737
in this PR, https://github.com/zephyrproject-rtos/zephyr/pull/27737/commits/25e19f5b4e4ef07b1598104a02c4722386f2f17b two helper APIs is added
dma_api_request_channel request_channel;
dma_api_release_channel release_channel;
the two APIs are for DMA engine which is capable to dynamically allocate its channels to different DMA requests. and a filter is also added in case of special DMA channel features.

 

Slack topic discussion is here

 

Can this topic be scheduled in next API meeting? Thanks.

 

Regards,

Hake