Commit Message

From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
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>
---
Fix notify control logic
hw/dma/xilinx_axidma.c | 49 +++++++++++++++++++++++++++++++++++++++-------
hw/net/xilinx_axienet.c | 28 ++++++++++++++++++++++++--
2 files changed, 66 insertions(+), 11 deletions(-)