# Tcp3d_Instance Struct Reference
[TCP3D Driver Data Structures]

TCP3D Driver instance structure. More...

`#include <tcp3d_drv.h>`

## Data Fields

uint8_t | instNum
volatile Tcp3d_State | state
uint8_t | mode
uint16_t | doubleBuffer
volatile uint8_t | pingStop
volatile uint8_t | pongStop
uint8_t | startFlag
uint8_t | coreId
int32_t | pingFreeCnt
int32_t | pongFreeCnt
uint32_t | maxCodeBlocks
uint32_t | nextCodeBlockIndex
EDMA3_DRV_PaRAMRegs * | pseudoParamBufPtr
uint32_t | notificationEventNum
EDMA3_DRV_Handle | edmaHnd
uint32_t | edmaRegionId
uint32_t | pingCh [TCP3D_DRV_MAX_CH_PER_PATH]
uint32_t | pongCh [TCP3D_DRV_MAX_CH_PER_PATH]
uint32_t | pingChParamAddr [TCP3D_DRV_MAX_CH_PER_PATH]
uint32_t | pongChParamAddr [TCP3D_DRV_MAX_CH_PER_PATH]
uint32_t | pingLinkCh [TCP3D_DRV_MAX_LINK_CH >>1]
uint32_t | pongLinkCh [TCP3D_DRV_MAX_LINK_CH >>1]
uint32_t | pingLinkChParamAddr [TCP3D_DRV_MAX_LINK_CH >>1]
uint32_t | pongLinkChParamAddr [TCP3D_DRV_MAX_LINK_CH >>1]
uint32_t | l2pChMaskPing
uint32_t | l2pChMaskPong
uint32_t | pauseChMaskPing
uint32_t | pauseChMaskPong
CSL_TPCC_ShadowRegs * | tpccShadowRegs
uint32_t * | intEnClrReg [2]
uint32_t * | intEnSetReg [2]
uint32_t * | clrIntPendReg [2]
uint32_t * | intPendReg [2]
uint8_t | constantOne
Tcp3d_State | pauseState

## Detailed Description

TCP3D Driver instance structure.

## Field Documentation

uint32_t* Tcp3d_Instance::clrIntPendReg[2]

Register address of TPCC_ICR used for clearing the pending IPR bits

uint8_t Tcp3d_Instance::constantOne

variable set to 1 at init time and used by PAUSE channels

uint8_t Tcp3d_Instance::coreId

CPU/DSP core ID on which this instance of driver is running

uint16_t Tcp3d_Instance::doubleBuffer

Double Buffer mode enable/disable

EDMA3_DRV_Handle Tcp3d_Instance::edmaHnd

EDMA3 LLD Driver Handle

uint32_t Tcp3d_Instance::edmaRegionId

EDMA shadow region number

uint8_t Tcp3d_Instance::instNum

TCP3D Peripheral instance number

uint32_t* Tcp3d_Instance::intEnClrReg[2]

Register address of TPCC_IECR used for clearing (diable) the IER bits

uint32_t* Tcp3d_Instance::intEnSetReg[2]

Register address of TPCC_IESR used for setting (enable) the IER bits

uint32_t* Tcp3d_Instance::intPendReg[2]

Register address of TPCC_IPR used for checking pending interrupts

uint32_t Tcp3d_Instance::l2pChMaskPing

bit masks used for controlling interrupt generation by EDMA CC L2P Channel Mask for PING

uint32_t Tcp3d_Instance::l2pChMaskPong

L2P Channel Mask for PONG

uint32_t Tcp3d_Instance::maxCodeBlocks

Gives the Maximum number of code blocks that can be enqueued using the driver. This value is set during the init.

uint8_t Tcp3d_Instance::mode

Driver operating Mode for the given instance

uint32_t Tcp3d_Instance::nextCodeBlockIndex

Gives the next code block index for enqueue into the input list.

uint32_t Tcp3d_Instance::notificationEventNum

CP_INTC0 input event number used for the output notification. Driver uses this value to write (using EDMA) into the STATUS_SET_INDEX_REG during run-time to cause system event/interrupt.

uint32_t Tcp3d_Instance::pauseChMaskPing

REVT Channel Mask for PING

uint32_t Tcp3d_Instance::pauseChMaskPong

REVT Channel Mask for PING

Tcp3d_State Tcp3d_Instance::pauseState

variable set to TCP3D_DRV_STATE_PAUSE and used by PAUSE channels

uint32_t Tcp3d_Instance::pingCh[TCP3D_DRV_MAX_CH_PER_PATH]

Ping channels stored here

uint32_t Tcp3d_Instance::pingChParamAddr[TCP3D_DRV_MAX_CH_PER_PATH]

Physical PaRAM addresses of the Ping channels

int32_t Tcp3d_Instance::pingFreeCnt

Gives the number of free entries available in the input ping list for enqueue. This flag is decremented when a code block is enqueued into the ping list. It's value is updated in the start funciton.

uint32_t Tcp3d_Instance::pingLinkCh[TCP3D_DRV_MAX_LINK_CH >>1]

Link channels for Ping path

uint32_t Tcp3d_Instance::pingLinkChParamAddr[TCP3D_DRV_MAX_LINK_CH >>1]

Link channel PaRAM address for Ping path

volatile uint8_t Tcp3d_Instance::pingStop

If true, PING path is stopped

uint32_t Tcp3d_Instance::pongCh[TCP3D_DRV_MAX_CH_PER_PATH]

Pong channels stored here

uint32_t Tcp3d_Instance::pongChParamAddr[TCP3D_DRV_MAX_CH_PER_PATH]

Physical PaRAM addresses of the Pong channels

int32_t Tcp3d_Instance::pongFreeCnt

Gives the number of free entries available in the input pong list for enqueue. This flag is decremented when a code block is enqueued into the pong list. It's value is updated in the start funciton.

uint32_t Tcp3d_Instance::pongLinkCh[TCP3D_DRV_MAX_LINK_CH >>1]

Link channels for Pong path

uint32_t Tcp3d_Instance::pongLinkChParamAddr[TCP3D_DRV_MAX_LINK_CH >>1]

Link channel PaRAM address for Pong path

volatile uint8_t Tcp3d_Instance::pongStop

If true, PONG path is stopped

EDMA3_DRV_PaRAMRegs* Tcp3d_Instance::pseudoParamBufPtr

Pointer to the pseudo PaRAM buffer array base.

uint8_t Tcp3d_Instance::startFlag

TCP3D driver start mode flag. Set to NULL during init to disable the auto start function call from enqueue funciton until application initiates.

volatile Tcp3d_State Tcp3d_Instance::state

Variable to keep the driver state

CSL_TPCC_ShadowRegs* Tcp3d_Instance::tpccShadowRegs

EDMA shadow registers base address used during run-time

The documentation for this struct was generated from the following file:

- tcp3d_drv.h

Copyright 2012, Texas Instruments Incorporated