w11 - cpp 0.794
Backend server for Rlink and w11
Loading...
Searching...
No Matches
Retro::Rw11Rdma Class Reference

FIXME_docs. More...

#include <Rw11Rdma.hpp>

Inheritance diagram for Retro::Rw11Rdma:
[legend]
Collaboration diagram for Retro::Rw11Rdma:
[legend]

Public Types

enum  stats {
  kStatNQueRMem , kStatNQueWMem , kStatNRdmaRMem , kStatNRdmaWMem ,
  kStatNExtClist , kStatNFailRdma , kDimStat
}
 
enum  status { kStatusDone , kStatusBusy , kStatusBusyLast , kStatusFailRdma }
 
typedef std::function< void(int, size_t, size_t, RlinkCommandList &)> precb_t
 
typedef std::function< void(int, size_t, RlinkCommandList &, size_t)> postcb_t
 

Public Member Functions

 Rw11Rdma (Rw11Cntl *pcntl, precb_t &&precb, postcb_t &&postcb)
 Constructor.
 
virtual ~Rw11Rdma ()
 Destructor.
 
 Rw11Rdma (const Rw11Rdma &)=delete
 
Rw11Rdmaoperator= (const Rw11Rdma &)=delete
 
Rw11CntlCntlBase () const
 FIXME_docs.
 
Rw11CpuCpu () const
 FIXME_docs.
 
Rw11W11 () const
 FIXME_docs.
 
RlinkServerServer () const
 FIXME_docs.
 
RlinkConnectConnect () const
 FIXME_docs.
 
RlogFileLogFile () const
 FIXME_docs.
 
void SetChunkSize (size_t chunk)
 FIXME_docs.
 
size_t ChunkSize () const
 FIXME_docs.
 
bool IsActive () const
 FIXME_docs.
 
void QueueRMem (uint32_t addr, uint16_t *block, size_t size, uint16_t mode)
 FIXME_docs.
 
void QueueWMem (uint32_t addr, const uint16_t *block, size_t size, uint16_t mode)
 FIXME_docs.
 
RstatsStats ()
 FIXME_docs.
 
virtual void Dump (std::ostream &os, int ind=0, const char *text=0, int detail=0) const
 FIXME_docs.
 

Protected Member Functions

void SetupRdma (bool iswmem, uint32_t addr, uint16_t *block, size_t size, uint16_t mode)
 FIXME_docs.
 
int RdmaHandler ()
 FIXME_docs.
 
virtual void PreRdmaHook ()
 FIXME_docs.
 
virtual void PostRdmaHook (size_t nwdone)
 FIXME_docs.
 

Protected Attributes

Rw11CntlfpCntlBase
 plain Rw11Cntl ptr
 
precb_t fPreExecCB
 pre Exec callback
 
postcb_t fPostExecCB
 post Exec callback
 
size_t fChunksize
 channel chunk size
 
enum status fStatus
 dma status
 
bool fIsWMem
 is memory write
 
uint32_t fAddr
 current mem address
 
uint16_t fMode
 current mode
 
size_t fNWordMax
 transfer chunk size
 
size_t fNWordRest
 words to be done
 
size_t fNWordDone
 words transfered
 
uint16_t * fpBlock
 current buffer pointer
 
Rstats fStats
 statistics
 

Additional Inherited Members

- Static Public Attributes inherited from Retro::Rbits
static const uint8_t kBBit00 = 1u<< 0
 
static const uint8_t kBBit01 = 1u<< 1
 
static const uint8_t kBBit02 = 1u<< 2
 
static const uint8_t kBBit03 = 1u<< 3
 
static const uint8_t kBBit04 = 1u<< 4
 
static const uint8_t kBBit05 = 1u<< 5
 
static const uint8_t kBBit06 = 1u<< 6
 
static const uint8_t kBBit07 = 1u<< 7
 
static const uint16_t kWBit00 = 1u<< 0
 
static const uint16_t kWBit01 = 1u<< 1
 
static const uint16_t kWBit02 = 1u<< 2
 
static const uint16_t kWBit03 = 1u<< 3
 
static const uint16_t kWBit04 = 1u<< 4
 
static const uint16_t kWBit05 = 1u<< 5
 
static const uint16_t kWBit06 = 1u<< 6
 
static const uint16_t kWBit07 = 1u<< 7
 
static const uint16_t kWBit08 = 1u<< 8
 
static const uint16_t kWBit09 = 1u<< 9
 
static const uint16_t kWBit10 = 1u<<10
 
static const uint16_t kWBit11 = 1u<<11
 
static const uint16_t kWBit12 = 1u<<12
 
static const uint16_t kWBit13 = 1u<<13
 
static const uint16_t kWBit14 = 1u<<14
 
static const uint16_t kWBit15 = 1u<<15
 
static const uint32_t kLBit00 = 1u<< 0
 
static const uint32_t kLBit01 = 1u<< 1
 
static const uint32_t kLBit02 = 1u<< 2
 
static const uint32_t kLBit03 = 1u<< 3
 
static const uint32_t kLBit04 = 1u<< 4
 
static const uint32_t kLBit05 = 1u<< 5
 
static const uint32_t kLBit06 = 1u<< 6
 
static const uint32_t kLBit07 = 1u<< 7
 
static const uint32_t kLBit08 = 1u<< 8
 
static const uint32_t kLBit09 = 1u<< 9
 
static const uint32_t kLBit10 = 1u<<10
 
static const uint32_t kLBit11 = 1u<<11
 
static const uint32_t kLBit12 = 1u<<12
 
static const uint32_t kLBit13 = 1u<<13
 
static const uint32_t kLBit14 = 1u<<14
 
static const uint32_t kLBit15 = 1u<<15
 
static const uint32_t kLBit16 = 1u<<16
 
static const uint32_t kLBit17 = 1u<<17
 
static const uint32_t kLBit18 = 1u<<18
 
static const uint32_t kLBit19 = 1u<<19
 
static const uint32_t kLBit20 = 1u<<20
 
static const uint32_t kLBit21 = 1u<<21
 
static const uint32_t kLBit22 = 1u<<22
 
static const uint32_t kLBit23 = 1u<<23
 
static const uint32_t kLBit24 = 1u<<24
 
static const uint32_t kLBit25 = 1u<<25
 
static const uint32_t kLBit26 = 1u<<26
 
static const uint32_t kLBit27 = 1u<<27
 
static const uint32_t kLBit28 = 1u<<28
 
static const uint32_t kLBit29 = 1u<<29
 
static const uint32_t kLBit30 = 1u<<30
 
static const uint32_t kLBit31 = 1u<<31
 

Detailed Description

FIXME_docs.

Definition at line 34 of file Rw11Rdma.hpp.

Member Typedef Documentation

◆ precb_t

typedef std::function<void(int,size_t,size_t, RlinkCommandList&)> Retro::Rw11Rdma::precb_t

Definition at line 38 of file Rw11Rdma.hpp.

◆ postcb_t

typedef std::function<void(int,size_t, RlinkCommandList&,size_t)> Retro::Rw11Rdma::postcb_t

Definition at line 40 of file Rw11Rdma.hpp.

Member Enumeration Documentation

◆ stats

Enumerator
kStatNQueRMem 

RMem chains queued.

kStatNQueWMem 

WMem chains queued.

kStatNRdmaRMem 

RMem chunks done.

kStatNRdmaWMem 

WMem chunks done.

kStatNExtClist 

clist extended

kStatNFailRdma 

Rdma failures.

kDimStat 

Definition at line 71 of file Rw11Rdma.hpp.

◆ status

Enumerator
kStatusDone 

all chunks done and ok

kStatusBusy 

more chunks to come

kStatusBusyLast 

last chunk to come

kStatusFailRdma 

last rdma transfer failed

Definition at line 82 of file Rw11Rdma.hpp.

Constructor & Destructor Documentation

◆ Rw11Rdma() [1/2]

Retro::Rw11Rdma::Rw11Rdma ( Rw11Cntl pcntl,
precb_t &&  precb,
postcb_t &&  postcb 
)

◆ ~Rw11Rdma()

Retro::Rw11Rdma::~Rw11Rdma ( )
virtual

Destructor.

Definition at line 69 of file Rw11Rdma.cpp.

◆ Rw11Rdma() [2/2]

Retro::Rw11Rdma::Rw11Rdma ( const Rw11Rdma )
delete

Member Function Documentation

◆ operator=()

Rw11Rdma & Retro::Rw11Rdma::operator= ( const Rw11Rdma )
delete

◆ CntlBase()

Rw11Cntl & Retro::Rw11Rdma::CntlBase ( ) const
inline

FIXME_docs.

Definition at line 21 of file Rw11Rdma.ipp.

References fpCntlBase.

Referenced by SetChunkSize().

◆ Cpu()

Rw11Cpu & Retro::Rw11Rdma::Cpu ( ) const
inline

FIXME_docs.

Definition at line 29 of file Rw11Rdma.ipp.

References Retro::Rw11Cntl::Cpu(), and fpCntlBase.

Referenced by RdmaHandler().

◆ W11()

Rw11 & Retro::Rw11Rdma::W11 ( ) const
inline

FIXME_docs.

Definition at line 37 of file Rw11Rdma.ipp.

References fpCntlBase, and Retro::Rw11Cntl::W11().

◆ Server()

RlinkServer & Retro::Rw11Rdma::Server ( ) const
inline

FIXME_docs.

Definition at line 45 of file Rw11Rdma.ipp.

References fpCntlBase, and Retro::Rw11Cntl::Server().

Referenced by QueueRMem(), QueueWMem(), and RdmaHandler().

◆ Connect()

RlinkConnect & Retro::Rw11Rdma::Connect ( ) const
inline

FIXME_docs.

Definition at line 53 of file Rw11Rdma.ipp.

References Retro::Rw11Cntl::Connect(), and fpCntlBase.

Referenced by SetChunkSize(), and SetupRdma().

◆ LogFile()

RlogFile & Retro::Rw11Rdma::LogFile ( ) const
inline

FIXME_docs.

Definition at line 61 of file Rw11Rdma.ipp.

References fpCntlBase, and Retro::Rw11Cntl::LogFile().

◆ SetChunkSize()

◆ ChunkSize()

size_t Retro::Rw11Rdma::ChunkSize ( ) const
inline

◆ IsActive()

bool Retro::Rw11Rdma::IsActive ( ) const
inline

◆ QueueRMem()

void Retro::Rw11Rdma::QueueRMem ( uint32_t  addr,
uint16_t *  block,
size_t  size,
uint16_t  mode 
)

◆ QueueWMem()

void Retro::Rw11Rdma::QueueWMem ( uint32_t  addr,
const uint16_t *  block,
size_t  size,
uint16_t  mode 
)

◆ Stats()

Rstats & Retro::Rw11Rdma::Stats ( )
inline

◆ Dump()

void Retro::Rw11Rdma::Dump ( std::ostream &  os,
int  ind = 0,
const char *  text = 0,
int  detail = 0 
) const
virtual

◆ SetupRdma()

void Retro::Rw11Rdma::SetupRdma ( bool  iswmem,
uint32_t  addr,
uint16_t *  block,
size_t  size,
uint16_t  mode 
)
protected

◆ RdmaHandler()

◆ PreRdmaHook()

void Retro::Rw11Rdma::PreRdmaHook ( )
protectedvirtual

FIXME_docs.

Reimplemented in Retro::Rw11RdmaDisk.

Definition at line 215 of file Rw11Rdma.cpp.

Referenced by RdmaHandler().

◆ PostRdmaHook()

void Retro::Rw11Rdma::PostRdmaHook ( size_t  nwdone)
protectedvirtual

FIXME_docs.

Reimplemented in Retro::Rw11RdmaDisk.

Definition at line 223 of file Rw11Rdma.cpp.

Referenced by RdmaHandler().

Member Data Documentation

◆ fpCntlBase

Rw11Cntl* Retro::Rw11Rdma::fpCntlBase
protected

plain Rw11Cntl ptr

Definition at line 97 of file Rw11Rdma.hpp.

Referenced by CntlBase(), Connect(), Cpu(), LogFile(), Server(), and W11().

◆ fPreExecCB

precb_t Retro::Rw11Rdma::fPreExecCB
protected

pre Exec callback

Definition at line 98 of file Rw11Rdma.hpp.

Referenced by RdmaHandler().

◆ fPostExecCB

postcb_t Retro::Rw11Rdma::fPostExecCB
protected

post Exec callback

Definition at line 99 of file Rw11Rdma.hpp.

Referenced by RdmaHandler().

◆ fChunksize

size_t Retro::Rw11Rdma::fChunksize
protected

channel chunk size

Definition at line 100 of file Rw11Rdma.hpp.

Referenced by ChunkSize(), Dump(), SetChunkSize(), and SetupRdma().

◆ fStatus

enum status Retro::Rw11Rdma::fStatus
protected

dma status

Definition at line 101 of file Rw11Rdma.hpp.

Referenced by Dump(), IsActive(), RdmaHandler(), and SetupRdma().

◆ fIsWMem

bool Retro::Rw11Rdma::fIsWMem
protected

is memory write

Definition at line 102 of file Rw11Rdma.hpp.

Referenced by Dump(), RdmaHandler(), and SetupRdma().

◆ fAddr

uint32_t Retro::Rw11Rdma::fAddr
protected

current mem address

Definition at line 103 of file Rw11Rdma.hpp.

Referenced by Dump(), RdmaHandler(), and SetupRdma().

◆ fMode

uint16_t Retro::Rw11Rdma::fMode
protected

current mode

Definition at line 104 of file Rw11Rdma.hpp.

Referenced by RdmaHandler(), and SetupRdma().

◆ fNWordMax

size_t Retro::Rw11Rdma::fNWordMax
protected

transfer chunk size

Definition at line 105 of file Rw11Rdma.hpp.

Referenced by Dump(), RdmaHandler(), and SetupRdma().

◆ fNWordRest

size_t Retro::Rw11Rdma::fNWordRest
protected

words to be done

Definition at line 106 of file Rw11Rdma.hpp.

Referenced by Dump(), RdmaHandler(), and SetupRdma().

◆ fNWordDone

size_t Retro::Rw11Rdma::fNWordDone
protected

words transfered

Definition at line 107 of file Rw11Rdma.hpp.

Referenced by Dump(), RdmaHandler(), and SetupRdma().

◆ fpBlock

uint16_t* Retro::Rw11Rdma::fpBlock
protected

current buffer pointer

Definition at line 108 of file Rw11Rdma.hpp.

Referenced by Dump(), RdmaHandler(), and SetupRdma().

◆ fStats


The documentation for this class was generated from the following files: