On 28-03-24, 08:21, Alexander Sverdlin wrote: > Hello Vinod! > > On Thu, 2024-03-28 at 10:01 +0530, Vinod Koul wrote: > > On 26-03-24, 12:18, Nikita Shubin via B4 Relay wrote: > > > From: Nikita Shubin <nikita.shubin@xxxxxxxxxxx> > > > > > > Convert Cirrus EP93xx DMA to device tree usage: > > > > Subsytem is dmaengine: pls fix that > > > > > > > > - add OF ID match table with data > > > - add of_probe for device tree > > > - add xlate for m2m/m2p > > > - drop subsys_initcall code > > > - drop platform probe > > > - drop platform structs usage > > > > > > > From now on it only supports device tree probing. > > > > > > Co-developed-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> > > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> > > > Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx> > > > --- > > > drivers/dma/ep93xx_dma.c | 239 ++++++++++++++++++++++++------- > > > include/linux/platform_data/dma-ep93xx.h | 6 + > > > 2 files changed, 191 insertions(+), 54 deletions(-) > > > > > > diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c > > > index d6c60635e90d..17c8e2badee2 100644 > > > --- a/drivers/dma/ep93xx_dma.c > > > +++ b/drivers/dma/ep93xx_dma.c > > [...] > > > > > > > @@ -104,6 +106,11 @@ > > > #define DMA_MAX_CHAN_BYTES 0xffff > > > #define DMA_MAX_CHAN_DESCRIPTORS 32 > > > > > > +enum ep93xx_dma_type { > > > + M2P_DMA, > > > > Is this missing P2M? > > Not really. It's not the most obvious one, but anyway a way to enumerate > two types of DMA engines: > > "7.1.1 DMA Features List > DMA specific features are: > • Ten fully independent, programmable DMA controller internal M2P/P2M > channels (5 Tx and 5 Rx). > • Two dedicated channels for Memory-to-Memory (M2M) and > Memory-to-External Peripheral Transfers (external M2P/P2M)." > > Now the confusing part is that this "M2M" engine is actually used > to transfer to and from *some* devices, like SPI and IDE. > So both engines are capable of M2P and P2M, maybe Cirrus has named > two engines in a sub-optimal way decades ago and this is now a bit > historical naming. Okay, thanks for clarifying (might be worthwhile to mention this in comments) -- ~Vinod