Thread (14 messages) flat view 14 messages, 4 authors, 2012-08-15
STALE5105d

Revision v3 of 19 in this series.

Revisions (19)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v1 [diff vs current]
  4. v1 [diff vs current]
  5. v1 [diff vs current]
  6. v1 [diff vs current]
  7. v1 [diff vs current]
  8. v1 [diff vs current]
  9. v2 [diff vs current]
  10. v2 [diff vs current]
  11. v2 [diff vs current]
  12. v3 [diff vs current]
  13. v3 [diff vs current]
  14. v3 [diff vs current]
  15. v3 current
  16. v3 [diff vs current]
  17. v4 [diff vs current]
  18. v5 [diff vs current]
  19. v5 [diff vs current]

[PATCH v3 1/4] dmaengine: mmp-pdma support

From: zhangfei gao <hidden>
Date: 2012-08-15 07:44:35

On Tue, Aug 14, 2012 at 4:30 PM, Russell King - ARM Linux
[off-list ref] wrote:
Please consider looking at the virtual dma channel support, which I've
recently added.  This removes the burden of managing the descriptor
lists from the driver, deals with the workqueues for completing
descriptors, etc.

All you need to do is to build the descriptors for the DMA operation,
manage the scheduling of virtual channels onto physical channels,
calculate the position of DMA, and starting off and handling the DMA
hardware.

"virtual dma channel support" is probably something of a misnomer though;
it can also be used for situations where there's a 1:1 binding between
virtual and physical dma channels (iow, no virtual channels at all.)
Thanks Russell.

Have noticed virt-dma.c before.
The reason not use it is I thought it would be simpler
and easy-debugging to manage virt-channel via two lists:
pending and running lists.

Still have one question.
vchan_tx_submit is sending vd node to submitted list.
list_add_tail(&vd->node, &vc->desc_submitted);

While what we want is send the desc chain, including many nodes,
and the first desc will have call back.
chain 1: first -> desc -> desc -> desc
chain 2: first -> desc -> desc -> desc
Once the dma chain done, irq happen and call back from first desc.

Is that mean vchan_tx_submit is not covering this situation?

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help