[PATCH v3 2/5] dmaengine: Add STM32 DMAMUX driver
Pierre Yves MORDRET
pierre-yves.mordret at st.com
Mon Aug 21 02:34:15 PDT 2017
On 08/04/2017 04:21 PM, Peter Ujfalusi wrote:
> On 08/04/2017 03:50 PM, Pierre Yves MORDRET wrote:
>> Our DMAMUX can manage up to 255 request lines (only 128 is eventually assigned
>> though) onto 16 events: 8 events mapped on 1 DMA and the 8 others onto the
>> second DMA. Request line numbering is fixed (a peripheral DMA request is
>> assigned to one MUX input) and but can be routed randomly onto the any 16
>> channels. We use chanID to mux input on event.
>> chanID given by dma_get_any_slave_channe is enough in our case.
>
> I would think that if you have in the router node:
> dma-masters = <&dma1>, <&dma2>;
>
> and request a DMA via the router:
> dmas = <&dma_router req_in param1 param2>;
>
> then the router driver would decide which dma-master it is going to assign the
> given request line and craft the dma-spec based on this decision. This
> requires no callback to the router from the DMA master driver at all.
>
> The idea of the dma event router is to be transparent for the DMA clients
> (peripherals needing DMA channel) and for the DMA drivers as well. Neither
> should know that the events are muxed as it does not really matter for them.
>
OK. I will redesign my driver to take into account this idea.
I believe I should get rid of my custom API in DMA for channelID as well. Please
confirm. Not very clear for me whether I can keep it or not.
Regards
PY
More information about the linux-arm-kernel
mailing list