PDK API Guide for AM64x
csl_udmap_cppi5.h File Reference

Introduction

Header file containing various enumerations, structure definitions and function declarations for CPPI5.

Go to the source code of this file.

Data Structures

struct  CSL_UdmapCppi5Epi
 Extended Packet Info (EPI) block. More...
 
struct  CSL_UdmapCppi5HMPD
 Host-mode packet and buffer descriptor. More...
 
struct  CSL_UdmapCppi5MMPD
 Monolithic-mode packet descriptor. More...
 
struct  CSL_UdmapCppi5TRPD
 

Macros

#define CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_SHIFT   ((uint32_t) 30U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_MASK   (((uint32_t) 0x3U) << CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_HOST   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_MONO   ((uint32_t) 2U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_DTYPE_VAL_TR   ((uint32_t) 3U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_EINFO_SHIFT   ((uint32_t) 29U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_EINFO_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_CPPI5_PD_DESCINFO_EINFO_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_EINFO_VAL_NOT_PRESENT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_EINFO_VAL_IS_PRESENT   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PSINFO_SHIFT   ((uint32_t) 28U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PSINFO_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_CPPI5_PD_DESCINFO_PSINFO_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PSINFO_VAL_IN_DESC   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PSINFO_VAL_IN_SOP_BUFFER   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PSWCNT_SHIFT   ((uint32_t) 22U)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PSWCNT_MASK   (((uint32_t) 0x3FU) << CSL_UDMAP_CPPI5_PD_DESCINFO_PSWCNT_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PKTLEN_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_DESCINFO_PKTLEN_MASK   (((uint32_t) 0x3FFFFFU) << CSL_UDMAP_CPPI5_PD_DESCINFO_PKTLEN_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_PKTERROR_SHIFT   ((uint32_t) 28U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_PKTERROR_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_CPPI5_PD_PKTINFO1_PKTERROR_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_PSFLGS_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_PSFLGS_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_CPPI5_PD_PKTINFO1_PSFLGS_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_PKTID_SHIFT   ((uint32_t) 14U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_PKTID_MASK   (((uint32_t) 0x3FFU) << CSL_UDMAP_CPPI5_PD_PKTINFO1_PKTID_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_FLOWID_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO1_FLOWID_MASK   (((uint32_t) 0x3FFFU) << CSL_UDMAP_CPPI5_PD_PKTINFO1_FLOWID_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_PKTTYPE_SHIFT   ((uint32_t) 27U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_PKTTYPE_MASK   (((uint32_t) 0x1FU) << CSL_UDMAP_CPPI5_PD_PKTINFO2_PKTTYPE_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_SHIFT   ((uint32_t) 18U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_VAL_ENTIRE_PKT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPOLICY_VAL_BREAKUP_PKT   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_DATA_OFFSET_SHIFT   ((uint32_t) 18U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_DATA_OFFSET_MASK   (((uint32_t) 0x1FFU) << CSL_UDMAP_CPPI5_PD_PKTINFO2_DATA_OFFSET_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_SHIFT   ((uint32_t) 17U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_VAL_NO   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_EARLYRET_VAL_YES   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_VAL_TO_TAIL   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETPUSHPOLICY_VAL_TO_HEAD   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETQ_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_PKTINFO2_RETQ_MASK   (((uint32_t) 0xFFFFU) << CSL_UDMAP_CPPI5_PD_PKTINFO2_RETQ_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_SRCDSTTAG_SRCTAG_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_CPPI5_PD_SRCDSTTAG_SRCTAG_MASK   (((uint32_t) 0xFFFFU) << CSL_UDMAP_CPPI5_PD_SRCDSTTAG_SRCTAG_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_SRCDSTTAG_DSTTAG_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_SRCDSTTAG_DSTTAG_MASK   (((uint32_t) 0xFFFFU) << CSL_UDMAP_CPPI5_PD_SRCDSTTAG_DSTTAG_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_BUFPTR_ASPACE_SHIFT   ((uint64_t) 48UL)
 
#define CSL_UDMAP_CPPI5_PD_BUFPTR_ASPACE_MASK   (((uint64_t) 0xFU) << CSL_UDMAP_CPPI5_PD_BUFPTR_ASPACE_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_BUFPTR_ADDR_SHIFT   ((uint64_t) 0U)
 
#define CSL_UDMAP_CPPI5_PD_BUFPTR_ADDR_MASK   (((uint64_t) 0x0000FFFFFFFFFFFFUL) << CSL_UDMAP_CPPI5_PD_BUFPTR_ADDR_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_BUFINFO1_LEN_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_BUFINFO1_LEN_MASK   (((uint32_t) 0x3FFFFFU) << CSL_UDMAP_CPPI5_PD_BUFINFO1_LEN_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_ORGBUFLEN_LEN_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_PD_ORGBUFLEN_LEN_MASK   (((uint32_t) 0x3FFFFFU) << CSL_UDMAP_CPPI5_PD_ORGBUFLEN_LEN_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_ORGBUFPTR_ASPACE_SHIFT   ((uint64_t) 48UL)
 
#define CSL_UDMAP_CPPI5_PD_ORGBUFPTR_ASPACE_MASK   (((uint64_t) 0xFU) << CSL_UDMAP_CPPI5_PD_ORGBUFPTR_ASPACE_SHIFT)
 
#define CSL_UDMAP_CPPI5_PD_ORGBUFPTR_ADDR_SHIFT   ((uint64_t) 0U)
 
#define CSL_UDMAP_CPPI5_PD_ORGBUFPTR_ADDR_MASK   (((uint64_t) 0x0000FFFFFFFFFFFFUL) << CSL_UDMAP_CPPI5_PD_ORGBUFPTR_ADDR_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_DTYPE_SHIFT   ((uint32_t) 30U)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_DTYPE_MASK   (((uint32_t) 0x3U) << CSL_UDMAP_CPPI5_TRPD_DESCINFO_DTYPE_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_RELOAD_SHIFT   ((uint32_t) 20U)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_RELOAD_MASK   (((uint32_t) 0x1FFU) << CSL_UDMAP_CPPI5_TRPD_DESCINFO_RELOAD_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_RLDIDX_SHIFT   ((uint32_t) 14U)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_RLDIDX_MASK   (((uint32_t) 0x3FU) << CSL_UDMAP_CPPI5_TRPD_DESCINFO_RLDIDX_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_LASTIDX_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_TRPD_DESCINFO_LASTIDX_MASK   (((uint32_t) 0x3FFFU) << CSL_UDMAP_CPPI5_TRPD_DESCINFO_LASTIDX_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_PKTERROR_SHIFT   ((uint32_t) 28U)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_PKTERROR_MASK   (((uint32_t) 0xFU) << CSL_UDMAP_CPPI5_TRPD_PKTINFO_PKTERROR_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_SHIFT   ((uint32_t) 24U)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_MASK   (((uint32_t) 0x7U) << CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_VAL_16B   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_VAL_32B   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_VAL_64B   ((uint32_t) 2U)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_RECSIZE_VAL_128B   ((uint32_t) 3U)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_PKTID_SHIFT   ((uint32_t) 14U)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_PKTID_MASK   (((uint32_t) 0x3FFU) << CSL_UDMAP_CPPI5_TRPD_PKTINFO_PKTID_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_FLOWID_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_TRPD_PKTINFO_FLOWID_MASK   (((uint32_t) 0x3FFFU) << CSL_UDMAP_CPPI5_TRPD_PKTINFO_FLOWID_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_RETINFO_RETPOLICY_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_CPPI5_TRPD_RETINFO_RETPOLICY_MASK   (((uint32_t) 0x1U) << CSL_UDMAP_CPPI5_TRPD_RETINFO_RETPOLICY_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_RETINFO_RETPOLICY_VAL_TO_TAIL   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_TRPD_RETINFO_RETPOLICY_VAL_TO_HEAD   ((uint32_t) 1U)
 
#define CSL_UDMAP_CPPI5_TRPD_RETINFO_RETQ_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_TRPD_RETINFO_RETQ_MASK   (((uint32_t) 0xFFFFU) << CSL_UDMAP_CPPI5_TRPD_RETINFO_RETQ_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_SRCDSTTAG_SRCTAG_SHIFT   ((uint32_t) 16U)
 
#define CSL_UDMAP_CPPI5_TRPD_SRCDSTTAG_SRCTAG_MASK   (((uint32_t) 0xFFFFU) << CSL_UDMAP_CPPI5_TRPD_SRCDSTTAG_SRCTAG_SHIFT)
 
#define CSL_UDMAP_CPPI5_TRPD_SRCDSTTAG_DSTTAG_SHIFT   ((uint32_t) 0)
 
#define CSL_UDMAP_CPPI5_TRPD_SRCDSTTAG_DSTTAG_MASK   (((uint32_t) 0xFFFFU) << CSL_UDMAP_CPPI5_TRPD_SRCDSTTAG_DSTTAG_SHIFT)
 

Functions

static uint32_t CSL_udmapCppi5GetDescType (const void *pDesc)
 Get the descriptor type. More...
 
static void CSL_udmapCppi5SetDescType (void *pDesc, uint32_t descType)
 Set the descriptor type. More...
 
static uint32_t CSL_udmapCppi5GetPktLen (const void *pDesc)
 Get the packet length. More...
 
static void CSL_udmapCppi5SetPktLen (void *pDesc, uint32_t descType, uint32_t pktLen)
 Set the packet length. More...
 
static void CSL_udmapCppi5HostSetPktLen (void *pDesc, uint32_t pktLen)
 Set the packet length of host mode packet descriptors. More...
 
static void CSL_udmapCppi5MonoSetPktLen (void *pDesc, uint32_t pktLen)
 Set the packet length of mono mode packet descriptors. More...
 
static void CSL_udmapCppi5TrSetPktLen (void *pDesc, uint32_t pktLen)
 Set the packet length of TR mode packet descriptors. More...
 
static uint64_t CSL_udmapCppi5GetBufferAddr (const CSL_UdmapCppi5HMPD *pDesc)
 Get the buffer address. More...
 
static uint32_t CSL_udmapCppi5GetBufferLen (const CSL_UdmapCppi5HMPD *pDesc)
 Get the buffer length. More...
 
static void CSL_udmapCppi5SetBufferAddr (CSL_UdmapCppi5HMPD *pDesc, uint64_t physBufferAddr)
 Set the buffer address. More...
 
static void CSL_udmapCppi5SetOrgBufferAddr (CSL_UdmapCppi5HMPD *pDesc, uint64_t physBufferAddr)
 Set the original buffer address. More...
 
static void CSL_udmapCppi5SetBufferLen (CSL_UdmapCppi5HMPD *pDesc, uint32_t bufferLenBytes)
 Set the buffer length. More...
 
static void CSL_udmapCppi5SetOrgBufferLen (CSL_UdmapCppi5HMPD *pDesc, uint32_t bufferLenBytes)
 Set the original buffer length. More...
 
static void CSL_udmapCppi5LinkDesc (CSL_UdmapCppi5HMPD *pDesc, uint64_t physBufferDescAddr)
 Link a buffer descriptor to a descriptor. More...
 
static bool CSL_udmapCppi5IsEpiDataPresent (const void *pDesc)
 Is the EPI block present in the descriptor? More...
 
static void CSL_udmapCppi5SetEpiDataPresent (void *pDesc, bool bEpiDataPresent)
 Set indicator if the EPI block is present in the descriptor. More...
 
static uint32_t * CSL_udmapCppi5GetEpiDataPtr (const void *pDesc)
 Return pointer to EPI block data. More...
 
static int32_t CSL_udmapCppi5RdEpiData (const void *pDesc, uint32_t *pTsInfo, uint32_t *pSwInfo0, uint32_t *pSwInfo1, uint32_t *pSwInfo2)
 Read the EPI block data. More...
 
static void CSL_udmapCppi5WrEpiData (const void *pDesc, uint32_t tsInfo, uint32_t swInfo0, uint32_t swInfo1, uint32_t swInfo2)
 Write the EPI block data. More...
 
static uint32_t CSL_udmapCppi5GetPsDataLoc (const void *pDesc)
 Get the location of the protocol-specific data. More...
 
static void CSL_udmapCppi5SetPsDataLoc (void *pDesc, uint32_t psLoc)
 Set the location of the protocol-specific data. More...
 
static uint32_t CSL_udmapCppi5GetPsDataLen (const void *pDesc)
 Get the number of bytes of protocol-specific data. More...
 
static void CSL_udmapCppi5SetPsDataLen (void *pDesc, uint32_t psDataLen)
 Set the number of bytes of protocol-specific data. More...
 
static uint64_t CSL_udmapCppi5GetPsDataAddr (const void *pDesc, bool bInSopBuf, bool bEpiPresent)
 Return address of the protocol-specific data. More...
 
static uint8_t * CSL_udmapCppi5GetPsDataPtr (const void *pDesc)
 
static uint32_t CSL_udmapCppi5GetSrcTag (const void *pDesc)
 Get source tag. More...
 
static uint32_t CSL_udmapCppi5GetDstTag (const void *pDesc)
 Get destination tag. More...
 
static void CSL_udmapCppi5SetSrcTag (void *pDesc, uint32_t srcTag)
 Set source tag. More...
 
static void CSL_udmapCppi5SetDstTag (void *pDesc, uint32_t dstTag)
 Set destination tag. More...
 
static uint32_t CSL_udmapCppi5GetErrorFlags (const void *pDesc)
 Get error flags. More...
 
static uint32_t CSL_udmapCppi5GetPsFlags (const void *pDesc)
 Get ps flags. More...
 
static void CSL_udmapCppi5SetPsFlags (void *pDesc, uint32_t psFlags)
 Set ps flags. More...
 
static uint32_t CSL_udmapCppi5GetPktType (const void *pDesc)
 Get packet type. More...
 
static void CSL_udmapCppi5SetPktType (void *pDesc, uint32_t pktType)
 Set packet type. More...
 
static void CSL_udmapCppi5GetIds (const void *pDesc, uint32_t *pPktId, uint32_t *pFlowId)
 Get IDs. More...
 
static void CSL_udmapCppi5SetIds (void *pDesc, uint32_t descType, uint32_t pktId, uint32_t flowId)
 Set IDs. More...
 
static void CSL_udmapCppi5GetReturnPolicy (const void *pDesc, uint32_t *pRetPolicy, uint32_t *pEarlyReturn, uint32_t *pRetPushPolicy, uint32_t *pRetQnum)
 Get descriptor return policy information. More...
 
static void CSL_udmapCppi5SetReturnPolicy (void *pDesc, uint32_t descType, uint32_t retPolicy, uint32_t earlyReturn, uint32_t retPushPolicy, uint32_t retQnum)
 Set descriptor return policy information. More...
 
static uint32_t CSL_udmapCppi5MonoGetDataOffset (const CSL_UdmapCppi5MMPD *pDesc)
 Get MONO descriptor data offset. More...
 
static void CSL_udmapCppi5MonoSetDataOffset (CSL_UdmapCppi5MMPD *pDesc, uint32_t dataOffset)
 Set MONO descriptor data offset. More...
 
static void CSL_udmapCppi5TrGetReload (const CSL_UdmapCppi5TRPD *pDesc, uint32_t *pReloadEnable, uint32_t *pReloadIdx)
 Get TR descriptor reload information. More...
 
static void CSL_udmapCppi5TrSetReload (CSL_UdmapCppi5TRPD *pDesc, uint32_t reloadEnable, uint32_t reloadIdx)
 Set TR descriptor reload information. More...
 
static uint32_t CSL_udmapCppi5TrGetEntryStride (const CSL_UdmapCppi5TRPD *pDesc)
 Get TR descriptor entry stride. More...
 
static void CSL_udmapCppi5TrSetEntryStride (CSL_UdmapCppi5TRPD *pDesc, uint32_t entryStride)
 Set TR descriptor entry stride. More...