![]() |
![]() |
Enet DMA utility API to check packet and descriptor ownership states during development and debug. More...
#include <stdarg.h>
Typedefs | |
typedef enum EnetDma_DescStateMemMgr_e | EnetDma_DescStateMemMgr |
Enet DMA Descriptor state. More... | |
typedef enum EnetDma_PktStateApp_e | EnetDma_PktStateApp |
App Pkt state. More... | |
typedef enum EnetDma_PktStateDma_e | EnetDma_PktStateDma |
DMA Pkt state. More... | |
typedef enum EnetDma_PktStateMemMgr_e | EnetDma_PktStateMemMgr |
Enet DMA Pkt state. More... | |
typedef enum EnetDma_PktStateModuleType_e | EnetDma_PktStateModuleType |
Enet DMA Pkt state. More... | |
Enumerations | |
enum | EnetDma_DescStateMemMgr_e { ENET_DESCSTATE_MEMMGR_FREE = 0U, ENET_DESCSTATE_MEMMGR_ALLOC } |
Enet DMA Descriptor state. More... | |
enum | EnetDma_PktStateApp_e { ENET_PKTSTATE_APP_WITH_FREEQ = 0U, ENET_PKTSTATE_APP_WITH_READYQ, ENET_PKTSTATE_APP_WITH_DRIVER } |
App Pkt state. More... | |
enum | EnetDma_PktStateDma_e { ENET_PKTSTATE_DMA_WITH_HW = 0U, ENET_PKTSTATE_DMA_NOT_WITH_HW } |
DMA Pkt state. More... | |
enum | EnetDma_PktStateMemMgr_e { ENET_PKTSTATE_MEMMGR_FREE = 0U, ENET_PKTSTATE_MEMMGR_ALLOC } |
Enet DMA Pkt state. More... | |
enum | EnetDma_PktStateModuleType_e { ENET_PKTSTATE_MODULE_APP = 0U, ENET_PKTSTATE_MODULE_DRIVER, ENET_PKTSTATE_MODULE_MEMUTILS } |
Enet DMA Pkt state. More... | |
Functions | |
void | EnetDma_checkPktState (uint32_t *pStateVar, EnetDma_PktStateModuleType module, uint32_t expectedState, uint32_t newState) |
Packet state check & set API for app, memory manager and dma driver. More... | |
void | EnetDma_checkDescState (uint32_t *pStateVar, EnetDma_DescStateMemMgr expectedState, EnetDma_DescStateMemMgr newState) |
Descriptor state check & set API for descriptor memory manager. More... | |
Enet DMA utility API to check packet and descriptor ownership states during development and debug.
#define ENET_UTILS_GET_DESC_MEMUTILS_STATE | ( | state | ) |
#define ENET_UTILS_GET_PKT_APP_STATE | ( | state | ) |
#define ENET_UTILS_GET_PKT_DRIVER_STATE | ( | state | ) |
#define ENET_UTILS_GET_PKT_MEMUTILS_STATE | ( | state | ) |
#define ENET_UTILS_GET_STATE | ( | state, | |
mask, | |||
bitshift | |||
) |
#define ENET_UTILS_SET_DESC_MEMUTILS_STATE | ( | state, | |
value | |||
) |
#define ENET_UTILS_SET_PKT_APP_STATE | ( | state, | |
value | |||
) |
#define ENET_UTILS_SET_PKT_DRIVER_STATE | ( | state, | |
value | |||
) |
#define ENET_UTILS_SET_PKT_MEMUTILS_STATE | ( | state, | |
value | |||
) |
#define ENET_UTILS_SET_STATE | ( | state, | |
mask, | |||
bitshift, | |||
value | |||
) |
typedef enum EnetDma_DescStateMemMgr_e EnetDma_DescStateMemMgr |
Enet DMA Descriptor state.
DMA descriptor state used by Enet DMA driver for sanity check.
typedef enum EnetDma_PktStateApp_e EnetDma_PktStateApp |
App Pkt state.
Packet state for application
typedef enum EnetDma_PktStateDma_e EnetDma_PktStateDma |
DMA Pkt state.
Packet state for DMA
typedef enum EnetDma_PktStateMemMgr_e EnetDma_PktStateMemMgr |
Enet DMA Pkt state.
Packet state for memory manager
typedef enum EnetDma_PktStateModuleType_e EnetDma_PktStateModuleType |
Enet DMA Pkt state.
Type of Enet DMA Pkt state.
void EnetDma_checkDescState | ( | uint32_t * | pStateVar, |
EnetDma_DescStateMemMgr | expectedState, | ||
EnetDma_DescStateMemMgr | newState | ||
) |
Descriptor state check & set API for descriptor memory manager.
This development time API checks expected state and sets new descriptor state. This is used by modules handling the Desc to confirm the Desc is returned and allocated in correct state. Only memutils modules uses it now for checking if desc is free or allocated while allocating or freeing desc respectively.
pStateVar | [IN/OUT] Pointer to Desc state variable. |
expectedState | [IN] State Desc is expected to be. |
newState | [IN] New state Desc is set to. |
void EnetDma_checkPktState | ( | uint32_t * | pStateVar, |
EnetDma_PktStateModuleType | module, | ||
uint32_t | expectedState, | ||
uint32_t | newState | ||
) |
Packet state check & set API for app, memory manager and dma driver.
This development time API checks expected state and sets new packet state. This is used by modules handling the packet to confirm the packet is returned and allocated in correct state. Memutils checks (free, allocated), dma driver checks (with Hw, with driver) and app checks which queue it belongs
pStateVar | [IN/OUT] Pointer to packet state variable of packet structure EnetDma_PktInfo |
module | [IN] Module id. Refer to EnetDma_PktStateModuleType |
expectedState | [IN] State packet is expected to be. |
newState | [IN] New state packet is set to. |