|
CIRCT 23.0.0git
|
Functions | |
| OneItemBuffersToHost (Type client_type) | |
| OneItemBuffersFromHost (Type client_type) | |
| esiaccel.bsp.dma.OneItemBuffersFromHost | ( | Type | client_type | ) |
Create a simple, non-performant DMA-base from host communication channel.
1) Host sends address of buffer address via MMIO write to register 0x08.
2) Host sends address of completion address via MMIO write to register 0x10.
3) Device reads data from said buffer and sends down the channel. Only keeps
one transfer outstanding by buffering the read response locally before
forwarding it.
4) Device writes '1' to the first byte of the completion buffer to signal that
the transfer is done.
Definition at line 106 of file dma.py.
References wrap().
| esiaccel.bsp.dma.OneItemBuffersToHost | ( | Type | client_type | ) |
Create a simple, non-performant DMA-based channel communication. Protocol: 1) Host sends address of buffer address via MMIO write. 2) Device writes data on channel with a byte '1' to said buffer address. 3) Host polls the last byte in buffer for '1'. 4) Data is copied out of buffer, last byte is set to '0', goto 1. Future improvement: support more than one buffer at once.