21#ifndef included_Retro_Rw11Rdma
22#define included_Retro_Rw11Rdma 1
37 typedef std::function<void(
int,
size_t,
size_t,
39 typedef std::function<void(
int,
size_t,
61 void QueueRMem(uint32_t addr, uint16_t* block,
size_t size,
63 void QueueWMem(uint32_t addr,
const uint16_t* block,
size_t size,
67 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
90 void SetupRdma(
bool iswmem, uint32_t addr, uint16_t* block,
91 size_t size, uint16_t mode);
int RdmaHandler()
FIXME_docs.
virtual void PostRdmaHook(size_t nwdone)
FIXME_docs.
virtual ~Rw11Rdma()
Destructor.
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
Rw11Cntl & CntlBase() const
FIXME_docs.
postcb_t fPostExecCB
post Exec callback
enum status fStatus
dma status
size_t fNWordRest
words to be done
void SetupRdma(bool iswmem, uint32_t addr, uint16_t *block, size_t size, uint16_t mode)
FIXME_docs.
bool IsActive() const
FIXME_docs.
RlogFile & LogFile() const
FIXME_docs.
@ kStatNQueWMem
WMem chains queued.
@ kStatNExtClist
clist extended
@ kStatNRdmaWMem
WMem chunks done.
@ kStatNRdmaRMem
RMem chunks done.
@ kStatNFailRdma
Rdma failures.
@ kStatNQueRMem
RMem chains queued.
Rw11Rdma(const Rw11Rdma &)=delete
std::function< void(int, size_t, RlinkCommandList &, size_t)> postcb_t
precb_t fPreExecCB
pre Exec callback
uint32_t fAddr
current mem address
RlinkServer & Server() const
FIXME_docs.
@ kStatusBusyLast
last chunk to come
@ kStatusFailRdma
last rdma transfer failed
@ kStatusBusy
more chunks to come
@ kStatusDone
all chunks done and ok
void QueueWMem(uint32_t addr, const uint16_t *block, size_t size, uint16_t mode)
FIXME_docs.
bool fIsWMem
is memory write
uint16_t fMode
current mode
Rw11 & W11() const
FIXME_docs.
Rw11Cpu & Cpu() const
FIXME_docs.
std::function< void(int, size_t, size_t, RlinkCommandList &)> precb_t
size_t fChunksize
channel chunk size
Rstats & Stats()
FIXME_docs.
void QueueRMem(uint32_t addr, uint16_t *block, size_t size, uint16_t mode)
FIXME_docs.
size_t fNWordMax
transfer chunk size
Rw11Rdma & operator=(const Rw11Rdma &)=delete
size_t ChunkSize() const
FIXME_docs.
void SetChunkSize(size_t chunk)
FIXME_docs.
virtual void PreRdmaHook()
FIXME_docs.
uint16_t * fpBlock
current buffer pointer
Rw11Cntl * fpCntlBase
plain Rw11Cntl ptr
size_t fNWordDone
words transfered
RlinkConnect & Connect() const
FIXME_docs.
Declaration of class ReventLoop.