]> git.proxmox.com Git - qemu.git/commit
xilinx_axienet/dma: Implement rx path flow control
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Tue, 16 Apr 2013 00:27:55 +0000 (10:27 +1000)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Tue, 16 Apr 2013 08:04:23 +0000 (10:04 +0200)
commit3630ae952a17c2107db25f397233536ef874558e
treeb5a92b065b5550fcf4616553fedd906324918e75
parent35e60bfdbc14ce31bba55cc82144f8a2a82ede68
xilinx_axienet/dma: Implement rx path flow control

Implement flow control for the RX data path from xilinx_axienet->xilinx_axidma.
On short return from axidma, then ethernet sets up the notify callback to resume
transfer from where it left off.

This also allows the ethernet to track whether there is an in progress transaction
and return false from ethernet can_receive() as appropriate.

If the DMA backs up or is disabled it waits for enablement. When the rx stream IO
region is touched, the can_push() notify function is called if set.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
hw/dma/xilinx_axidma.c
hw/net/xilinx_axienet.c