From: rd bairva on
Hi Dan,

� �My DMA controller supports device to device DMA transfers and we
need it in some of our drivers. Existing DMA engine framework doesn't
have support for device to device transfers.

Do you have any plans for device to device support in DMA engine?

Can you suggest me some other suggestion for doing this?


Regards
Ramdayal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Linus Walleij on
2010/4/19 rd bairva <rbairva(a)gmail.com>:

> � �My DMA controller supports device to device DMA transfers and we
> need it in some of our drivers. Existing DMA engine framework doesn't
> have support for device to device transfers.
>
> Do you have any plans for device to device support in DMA engine?
>
> Can you suggest me some other suggestion for doing this?

Extend the DMA engine with the stuff you need and propose nice
patches, provide them along with a driver that make use of this
feature.

What about a signature like this:

struct dma_async_tx_descriptor *(*device_prep_slave2slave)(
struct dma_chan *chan1, struct dma_chan *chan2,
enum dma_data_direction direction,
unsigned long flags);

You'd have to add some semantics comment saying that
DMA_TO_DEVICE means chan1->chan2 and
DMA_FROM_DEVICE means chan1<-chan2.

Could be a bit of hacking but how hard can it be?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/