PDK API Guide for AM64x
PKTDMA Enumerated Data Types

Introduction

Macros

#define CSL_PKTDMA_NO_EVENT   ((uint32_t) 0xFFFFU)
 

PKTDMA channel direction

This enumerator defines the possible channel directions


typedef uint32_t CSL_PktdmaChanDir
 
#define CSL_PKTDMA_CHAN_DIR_TX   ((uint32_t) 0U)
 
#define CSL_PKTDMA_CHAN_DIR_RX   ((uint32_t) 1U)
 

PKTDMA channel burst size

This enumerator defines the nominal burst size and alignment for data transfers on a TX or RX channel


typedef uint32_t CSL_PktdmaChanBurstSize
 
#define CSL_PKTDMA_CHAN_BURST_SIZE_32_BYTES   ((uint32_t) 0U)
 
#define CSL_PKTDMA_CHAN_BURST_SIZE_64_BYTES   ((uint32_t) 1U)
 
#define CSL_PKTDMA_CHAN_BURST_SIZE_128_BYTES   ((uint32_t) 2U)
 
#define CSL_PKTDMA_CHAN_BURST_SIZE_256_BYTES   ((uint32_t) 3U)
 

PKTDMA descriptor type

This enumerator defines the possible descriptor types


typedef uint32_t CSL_PktdmaDescType
 
#define CSL_PKTDMA_DESC_TYPE_HOST   ((uint32_t) 0U)
 
#define CSL_PKTDMA_DESC_TYPE_HOST_SB   ((uint32_t) 1U)
 
#define CSL_PKTDMA_DESC_TYPE_MONOLITHIC   ((uint32_t) 2U)
 
#define CSL_PKTDMA_DESC_TYPE_RESERVED   ((uint32_t) 3U)
 

PKTDMA protocol-specific data location

This enumerator defines the ps location for the descriptor


typedef uint32_t CSL_PktdmaPsLoc
 
#define CSL_PKTDMA_PS_LOC_DESC   ((uint32_t) 0U)
 
#define CSL_PKTDMA_PS_LOC_PACKET   ((uint32_t) 1U)
 

PKTDMA address type

This enumerator defines the possible address types


typedef uint32_t CSL_PktdmaAddrType
 
#define CSL_PKTDMA_ADDR_TYPE_PHYS   ((uint32_t) 0U)
 
#define CSL_PKTDMA_ADDR_TYPE_INTER   ((uint32_t) 1U)
 
#define CSL_PKTDMA_ADDR_TYPE_VIRT   ((uint32_t) 2U)
 

PKTDMA channel type

This enumerator defines the possible channel types


typedef uint32_t CSL_PktdmaChanType
 
#define CSL_PKTDMA_CHAN_TYPE_NORMAL   ((uint32_t) 2U)
 
#define CSL_PKTDMA_CHAN_TYPE_SBMODE   ((uint32_t) 3U)
 
#define CSL_PKTDMA_CHAN_TYPE_REF_PKT_RING   ((uint32_t) 2U)
 
#define CSL_PKTDMA_CHAN_TYPE_REF_PKTSB_QUEUE   ((uint32_t) 3U)
 

PKTDMA tag select

This enumerator defines how tag values are determined


typedef uint32_t CSL_PktdmaTagSelect
 
#define CSL_PKTDMA_TAG_SELECT_NO_OVERWRITE   ((uint32_t) 0U)
 
#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_VAL   ((uint32_t) 1U)
 
#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_7_0   ((uint32_t) 2U)
 
#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_15_8   ((uint32_t) 3U)
 
#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_TAG_7_0   ((uint32_t) 4U)
 
#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_TAG_15_8   ((uint32_t) 5U)
 
#define CSL_PKTDMA_TAG_SELECT_INVALID   ((uint32_t) 6U)
 

PKTDMA channel schedling priority

This enumerator selects which scheduling bin the channel will be placed in for bandwidth allocation of the DMA units


typedef uint32_t CSL_PktdmaChanSchedPri
 
#define CSL_PKTDMA_CHAN_SCHED_PRI_HIGH   ((uint32_t) 0U)
 
#define CSL_PKTDMA_CHAN_SCHED_PRI_MED_HIGH   ((uint32_t) 1U)
 
#define CSL_PKTDMA_CHAN_SCHED_PRI_MED_LOW   ((uint32_t) 2U)
 
#define CSL_PKTDMA_CHAN_SCHED_PRI_LOW   ((uint32_t) 3U)
 

Macro Definition Documentation

◆ CSL_PKTDMA_NO_EVENT

#define CSL_PKTDMA_NO_EVENT   ((uint32_t) 0xFFFFU)

◆ CSL_PKTDMA_CHAN_DIR_TX

#define CSL_PKTDMA_CHAN_DIR_TX   ((uint32_t) 0U)

Transmit direction

◆ CSL_PKTDMA_CHAN_DIR_RX

#define CSL_PKTDMA_CHAN_DIR_RX   ((uint32_t) 1U)

Receive direction

◆ CSL_PKTDMA_CHAN_BURST_SIZE_32_BYTES

#define CSL_PKTDMA_CHAN_BURST_SIZE_32_BYTES   ((uint32_t) 0U)

32-byte burst size

◆ CSL_PKTDMA_CHAN_BURST_SIZE_64_BYTES

#define CSL_PKTDMA_CHAN_BURST_SIZE_64_BYTES   ((uint32_t) 1U)

64-byte burst size

◆ CSL_PKTDMA_CHAN_BURST_SIZE_128_BYTES

#define CSL_PKTDMA_CHAN_BURST_SIZE_128_BYTES   ((uint32_t) 2U)

128-byte burst size

◆ CSL_PKTDMA_CHAN_BURST_SIZE_256_BYTES

#define CSL_PKTDMA_CHAN_BURST_SIZE_256_BYTES   ((uint32_t) 3U)

256-byte burst size

◆ CSL_PKTDMA_DESC_TYPE_HOST

#define CSL_PKTDMA_DESC_TYPE_HOST   ((uint32_t) 0U)

Host

◆ CSL_PKTDMA_DESC_TYPE_HOST_SB

#define CSL_PKTDMA_DESC_TYPE_HOST_SB   ((uint32_t) 1U)

Host single-buffer

◆ CSL_PKTDMA_DESC_TYPE_MONOLITHIC

#define CSL_PKTDMA_DESC_TYPE_MONOLITHIC   ((uint32_t) 2U)

Monolithic

◆ CSL_PKTDMA_DESC_TYPE_RESERVED

#define CSL_PKTDMA_DESC_TYPE_RESERVED   ((uint32_t) 3U)

Reserved

◆ CSL_PKTDMA_PS_LOC_DESC

#define CSL_PKTDMA_PS_LOC_DESC   ((uint32_t) 0U)

Located in descriptor

◆ CSL_PKTDMA_PS_LOC_PACKET

#define CSL_PKTDMA_PS_LOC_PACKET   ((uint32_t) 1U)

Located in packet

◆ CSL_PKTDMA_ADDR_TYPE_PHYS

#define CSL_PKTDMA_ADDR_TYPE_PHYS   ((uint32_t) 0U)

Physical addressing

◆ CSL_PKTDMA_ADDR_TYPE_INTER

#define CSL_PKTDMA_ADDR_TYPE_INTER   ((uint32_t) 1U)

Intermediate addressing

◆ CSL_PKTDMA_ADDR_TYPE_VIRT

#define CSL_PKTDMA_ADDR_TYPE_VIRT   ((uint32_t) 2U)

Virtual addressing

◆ CSL_PKTDMA_CHAN_TYPE_NORMAL

#define CSL_PKTDMA_CHAN_TYPE_NORMAL   ((uint32_t) 2U)

Normal channel

◆ CSL_PKTDMA_CHAN_TYPE_SBMODE

#define CSL_PKTDMA_CHAN_TYPE_SBMODE   ((uint32_t) 3U)

Single buffer mode channel

◆ CSL_PKTDMA_CHAN_TYPE_REF_PKT_RING

#define CSL_PKTDMA_CHAN_TYPE_REF_PKT_RING   ((uint32_t) 2U)

RM, Packet Mode, Pass by reference

◆ CSL_PKTDMA_CHAN_TYPE_REF_PKTSB_QUEUE

#define CSL_PKTDMA_CHAN_TYPE_REF_PKTSB_QUEUE   ((uint32_t) 3U)

QM, Packet Single Buffer Mode, Pass by reference

◆ CSL_PKTDMA_TAG_SELECT_NO_OVERWRITE

#define CSL_PKTDMA_TAG_SELECT_NO_OVERWRITE   ((uint32_t) 0U)

Do not overwrite

◆ CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_VAL

#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_VAL   ((uint32_t) 1U)

Overwrite with value given in tag value

◆ CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_7_0

#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_7_0   ((uint32_t) 2U)

Overwrite with flow_id[7:0] from back-end

◆ CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_15_8

#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_FLOWID_15_8   ((uint32_t) 3U)

Overwrite with flow_id[15:8] from back-end

◆ CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_TAG_7_0

#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_TAG_7_0   ((uint32_t) 4U)

Overwrite with tag[7:0] from back-end

◆ CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_TAG_15_8

#define CSL_PKTDMA_TAG_SELECT_OVERWRITE_WITH_TAG_15_8   ((uint32_t) 5U)

Overwrite with tag[15:8] from back-end

◆ CSL_PKTDMA_TAG_SELECT_INVALID

#define CSL_PKTDMA_TAG_SELECT_INVALID   ((uint32_t) 6U)

Invalid

◆ CSL_PKTDMA_CHAN_SCHED_PRI_HIGH

#define CSL_PKTDMA_CHAN_SCHED_PRI_HIGH   ((uint32_t) 0U)

High priority

◆ CSL_PKTDMA_CHAN_SCHED_PRI_MED_HIGH

#define CSL_PKTDMA_CHAN_SCHED_PRI_MED_HIGH   ((uint32_t) 1U)

Medium-High priority

◆ CSL_PKTDMA_CHAN_SCHED_PRI_MED_LOW

#define CSL_PKTDMA_CHAN_SCHED_PRI_MED_LOW   ((uint32_t) 2U)

Medium-Low priority

◆ CSL_PKTDMA_CHAN_SCHED_PRI_LOW

#define CSL_PKTDMA_CHAN_SCHED_PRI_LOW   ((uint32_t) 3U)

Low priority

Typedef Documentation

◆ CSL_PktdmaChanDir

typedef uint32_t CSL_PktdmaChanDir

◆ CSL_PktdmaChanBurstSize

typedef uint32_t CSL_PktdmaChanBurstSize

◆ CSL_PktdmaDescType

typedef uint32_t CSL_PktdmaDescType

◆ CSL_PktdmaPsLoc

typedef uint32_t CSL_PktdmaPsLoc

◆ CSL_PktdmaAddrType

typedef uint32_t CSL_PktdmaAddrType

◆ CSL_PktdmaChanType

typedef uint32_t CSL_PktdmaChanType

◆ CSL_PktdmaTagSelect

typedef uint32_t CSL_PktdmaTagSelect

◆ CSL_PktdmaChanSchedPri

typedef uint32_t CSL_PktdmaChanSchedPri