mcdma: xmcdma.h File Reference

| mcdma Xilinx SDK Drivers API Documentation

- Overview
- APIs
- File List

Macros | Enumerations | Functions
xmcdma.h File Reference

## Macros
#define | XMcdma_DisableCh(Chan, ChanId)
| Disable Particular Channel in the MCDMA Core. More...
#define | XMcdma_GetChan(Chan) XMcdma_ReadReg(Chan->ChanBase, XMCDMA_CHSER_OFFSET)
| Get Channel number that last Serviced. More...
#define | XMcdma_isidle(Chan)
| This function checks whether DMA is Idle or not. More...
#define | XMcdma_IntrEnable(Chan, Mask)
| This function enables interrupts specified by the Mask in specified direction, Interrupts that are not in the mask are not affected. More...
#define | XMcdma_IntrDisable(Chan, Mask)
| This function disables interrupts specified by the Mask. More...
#define | XMcdma_GetPktDrp_cnt(Chan) XMcdma_ReadReg(Chan->ChanBase, XMCDMA_CPKTDROP_OFFSET)
| Gets global Packet drop Count. More...
#define | XMcdma_GetMcdmaTxChan(InstancePtr, ChanId) (&((InstancePtr)->Tx_Chan[ChanId]))
| Gets the TX Channel Pointer. More...
#define | XMcdma_GetMcdmaRxChan(InstancePtr, ChanId) (&((InstancePtr)->Rx_Chan[ChanId]))
| Gets the RX Channel Pointer. More...
#define | XMcdma_GetChanCurBd(Chan) ((Chan)->BdRestart)
| Gets the Channel BD Chain Current BD. More...
#define | XMcdma_GetChanBdDoneCnt(Chan) ((Chan)->BdDoneCnt)
| This functions gives the Buffer descriptor count processed by the h/w. More...
#define | XMcdma_ChanGetIrq(Chan)
| This function gets the interrupts that are asserted. More...
#define | XMcdma_ChanAckIrq(Chan, Mask)
| This function acknowledges the interrupts that are specified in Mask. More...
#define | XMcdma_GetChanPktDrp_Cnt(Chan, ChanId)
| Get Packet drop Count for the particular Channel. More...
#define | XMcdma_SetARCache(InstancePtr, Value)
| This function sets the ARCACHE field with the user specified value. More...
#define | XMcdma_SetAWCache(InstancePtr, Value)
| This function sets the AWCACHE field with the user specified value. More...
#define | XMcdma_GetEgressObserver(InstancePtr, ObsId)
| Get Egress Channel Observer contents. More...
#define | XMcdma_GetIngressObserver(InstancePtr, ObsId)
| Get Ingress Channel Observer contents. More...

## Enumerations
enum | XMcdma_Handler { XMCDMA_TX_HANDLER_DONE, XMCDMA_TX_HANDLER_ERROR, XMCDMA_HANDLER_DONE, XMCDMA_HANDLER_ERROR, XMCDMA_HANDLER_PKTDROP }
enum | XMcdma_ChanHandler { XMCDMA_CHAN_HANDLER_DONE, XMCDMA_CHAN_HANDLER_ERROR, XMCDMA_CHAN_HANDLER_PKTDROP }

## Functions
XMcdma_Config * | XMcdma_LookupConfig (u16 DeviceId)
| XMcdma_LookupConfig returns a reference to an XMcdma_Config structure based on the unique device id, DeviceId. More...
XMcdma_Config * | XMcdma_LookupConfigBaseAddr (UINTPTR Baseaddr)
| XMcdma_LookupConfigBaseAddr returns a reference to an XMcdma_Config structure based on base address. More...
s32 | XMcDma_CfgInitialize (XMcdma *InstancePtr, XMcdma_Config *CfgPtr)
| This function initializes an MCDMA core. More...
s32 | XMcDma_Initialize (XMcdma *InstancePtr, XMcdma_Config *CfgPtr)
| This function initializes an MCDMA core. More...
void | XMcDma_Reset (XMcdma *InstancePtr)
| This function resets the MCDMA core. More...
s32 | XMcdma_SelfTest (XMcdma *InstancePtr)
| This file contains a diagnostic self-test function for the MCDMA driver. More...
u32 | XMcdma_ResetIsDone (XMcdma *InstancePtr)
| Check whether reset is done. More...
void | XMcdma_DumpChanRegs (XMcdma_ChanCtrl *Chan)
| Dump the registers for a channel. More...
u32 | XMcdma_Start (XMcdma_ChanCtrl *Chan)
| Start the DMA engine. More...
u32 | XMcdma_ChanHwStop (XMcdma_ChanCtrl *Chan)
| Stops the DMA engine. More...
void | XMcdma_EnableCh (XMcdma_ChanCtrl *Chan)
| Enables a particular channel. More...
u16 | XMcdma_GetChanServiced (XMcdma *InstancePtr)
| Gets the last serviced s2mm channel number. More...
u16 | XMcdma_GetTxChanServiced (XMcdma *InstancePtr)
| Gets the last serviced mm2s channel number. More...
u32 | XMcdma_SetChanCoalesceDelay (XMcdma_ChanCtrl *Chan, u32 IrqCoalesce, u32 IrqDelay)
| Set interrupt coalescing parameters for a particular channel. More...
void | XMcdma_SetSGAWCache (XMcdma *InstancePtr, u8 Value)
| This function sets the AWCACHE field of the SG interface With the user specified value. More...
void | XMcdma_SetSGARCache (XMcdma *InstancePtr, u8 Value)
| This function sets the ARCACHE field of the SG interface With the user specified value. More...
int | XMcdma_UpdateChanCDesc (XMcdma_ChanCtrl *Chan)
| Update Current Descriptor for the MCDMA Channel. More...
int | XMcdma_UpdateChanTDesc (XMcdma_ChanCtrl *Chan)
| Update Tail Desc for the Channel. More...
u32 | XMcDma_ChanBdCreate (XMcdma_ChanCtrl *Chan, UINTPTR Addr, u32 Count)
| Using a memory segment allocated by the caller, This function creates and setup the BD Chain for the MCDMA Channel. More...
u32 | XMcDma_ChanSubmit (XMcdma_ChanCtrl *Chan, UINTPTR BufAddr, u32 len)
| This function Populates the BD Chain with the required buffer address and length fields. More...
u32 | XMcDma_Chan_Sideband_Submit (XMcdma_ChanCtrl *ChanPtr, UINTPTR BufAddr, u32 Len, u32 *AppPtr, u16 Tuser, u16 Tid)
| This function populates the BD Chain with the required buffer address, length APP(user application), TUSER and TID fields. More...
u32 | XMcDma_ChanToHw (XMcdma_ChanCtrl *Chan)
| This function triggers/Starts the h/w by programming the Current and Tail Descriptors and enabling the particular channel. More...
int | XMcdma_BdChainFromHW (XMcdma_ChanCtrl *Chan, u32 BdLimit, XMcdma_Bd **BdSetPtr)
| Returns a set of BD(s) that have been processed by hardware. More...
int | XMcdma_BdChainFree (XMcdma_ChanCtrl *Chan, int BdCount, XMcdma_Bd *BdSetPtr)
| Frees a set of BDs that had been previously retrieved with XMcdma_BdChainFromHW(). More...
u32 | XMcdma_BdSetBufAddr (XMcdma_Bd *BdPtr, UINTPTR Addr)
| Set the Buffer descriptor buffer address field. More...
void | XMcDma_BdSetCtrl (XMcdma_Bd *BdPtr, u32 Data)
| Set the control bits for a BD. More...
void | XMcDma_DumpBd (XMcdma_Bd *BdPtr)
| Dump the fields of a BD. More...
int | XMcDma_BdSetAppWord (XMcdma_Bd *BdPtr, int Offset, u32 Word)
| Set the APP word at the specified APP word offset for a BD. More...
void | XMcdma_IntrHandler (void *Instance)
| This function is the S2MM(RX) interrupt handler for the MCDMA core. More...
void | XMcdma_TxIntrHandler (void *Instance)
| This function is the MM2S interrupt handler for the MCDMA core. More...
s32 | XMcdma_SetCallBack (XMcdma *InstancePtr, XMcdma_Handler HandlerType, void *CallBackFunc, void *CallBackRef)
| This routine installs an asynchronous callback function for the given HandlerType. More...
void | XMcdma_ChanIntrHandler (void *Instance)
| This function is the Per Channel interrupt handler for the MCDMA core. More...
s32 | XMcdma_ChanSetCallBack (XMcdma_ChanCtrl *Chan, XMcdma_ChanHandler HandlerType, void *CallBackFunc, void *CallBackRef)
| This routine installs an asynchronous callback function for the given HandlerType. More...