Topics

about DMA API updates proposal


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

 


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