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. -- Péter -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html