|
AM64x MCU+ SDK
08.02.00
|
|
Go to the documentation of this file.
46 #ifndef ENET_DMA_PKTUTILS_H_
47 #define ENET_DMA_PKTUTILS_H_
64 #if (ENET_CFG_DEV_ERROR == 1)
65 #define ENET_UTILS_GET_STATE(state, mask, bitshift) ((*(state) & (mask)) >> (bitshift))
66 #define ENET_UTILS_SET_STATE(state, mask, bitshift, value) \
68 *(state) &= ~(mask); \
69 *(state) |= ((value) << (bitshift)); \
72 #define ENET_UTILS_GET_STATE(state, mask, bitshift) ({while (false) {; } \
74 #define ENET_UTILS_SET_STATE(state, mask, bitshift, value) ({while (false) {; } \
78 #define ENET_UTILS_DRIVER_STATE_MASK (0x000000FFU)
79 #define ENET_UTILS_DRIVER_STATE_BIT_SHIFT (0U)
81 #define ENET_DMA_MEMMGR_STATE_MASK (0x0000FF00U)
82 #define ENET_DMA_MEMMGR_STATE_BIT_SHIFT (8U)
84 #define ENET_UTILS_APP_STATE_MASK (0x00FF0000U)
85 #define ENET_UTILS_APP_STATE_BIT_SHIFT (16U)
87 #define ENET_UTILS_GET_PKT_DRIVER_STATE(state) \
88 (ENET_UTILS_GET_STATE(state, \
89 ENET_UTILS_DRIVER_STATE_MASK, \
90 ENET_UTILS_DRIVER_STATE_BIT_SHIFT))
92 #define ENET_UTILS_SET_PKT_DRIVER_STATE(state, value) \
93 (ENET_UTILS_SET_STATE(state, \
94 ENET_UTILS_DRIVER_STATE_MASK, \
95 ENET_UTILS_DRIVER_STATE_BIT_SHIFT, \
98 #define ENET_UTILS_GET_PKT_MEMMGR_STATE(state) \
99 (ENET_UTILS_GET_STATE(state, \
100 ENET_DMA_MEMMGR_STATE_MASK, \
101 ENET_DMA_MEMMGR_STATE_BIT_SHIFT))
103 #define ENET_UTILS_SET_PKT_MEMMGR_STATE(state, value) \
104 (ENET_UTILS_SET_STATE(state, \
105 ENET_DMA_MEMMGR_STATE_MASK, \
106 ENET_DMA_MEMMGR_STATE_BIT_SHIFT, \
109 #define ENET_UTILS_GET_PKT_APP_STATE(state) \
110 (ENET_UTILS_GET_STATE(state, \
111 ENET_UTILS_APP_STATE_MASK, \
112 ENET_UTILS_APP_STATE_BIT_SHIFT))
114 #define ENET_UTILS_SET_PKT_APP_STATE(state, value) \
115 (ENET_UTILS_SET_STATE(state, \
116 ENET_UTILS_APP_STATE_MASK, \
117 ENET_UTILS_APP_STATE_BIT_SHIFT, \
120 #define ENET_DMA_MEMMGR_DESCSTATE_MASK (0x000000FFU)
121 #define ENET_DMA_MEMMGR_DESCSTATE_SHIFT (0U)
123 #define ENET_UTILS_GET_DESC_MEMMGR_STATE(state) \
124 (ENET_UTILS_GET_STATE(state, \
125 ENET_DMA_MEMMGR_DESCSTATE_MASK, \
126 ENET_DMA_MEMMGR_DESCSTATE_SHIFT))
128 #define ENET_UTILS_SET_DESC_MEMMGR_STATE(state, value) \
129 (ENET_UTILS_SET_STATE(state, \
130 ENET_DMA_MEMMGR_DESCSTATE_MASK, \
131 ENET_DMA_MEMMGR_DESCSTATE_SHIFT, \
139 typedef enum EnetDma_DescStateMemMgr_e
153 typedef enum EnetDma_PktStateApp_e
170 typedef enum EnetDma_PktStateDma_e
184 typedef enum EnetDma_PktStateMemMgr_e
198 typedef enum EnetDma_PktStateModuleType_e
238 uint32_t expectedState,
268 #if (ENET_CFG_DEV_ERROR == 1)
276 uint32_t expectedState,
279 #if (ENET_CFG_DEV_ERROR == 1)
#define ENET_UTILS_GET_PKT_MEMMGR_STATE(state)
Definition: enet_dma_pktutils.h:98
@ ENET_PKTSTATE_APP_WITH_DRIVER
Definition: enet_dma_pktutils.h:162
#define ENET_UTILS_SET_PKT_APP_STATE(state, value)
Definition: enet_dma_pktutils.h:114
EnetDma_PktStateModuleType
Enet DMA Pkt state.
Definition: enet_dma_pktutils.h:199
@ ENET_PKTSTATE_APP_WITH_READYQ
Definition: enet_dma_pktutils.h:159
@ ENET_PKTSTATE_DMA_NOT_WITH_HW
Definition: enet_dma_pktutils.h:176
#define ENET_UTILS_GET_PKT_DRIVER_STATE(state)
Definition: enet_dma_pktutils.h:87
@ ENET_PKTSTATE_APP_WITH_FREEQ
Definition: enet_dma_pktutils.h:156
@ ENET_PKTSTATE_DMA_WITH_HW
Definition: enet_dma_pktutils.h:173
@ ENET_PKTSTATE_MEMMGR_ALLOC
Definition: enet_dma_pktutils.h:190
#define ENET_UTILS_SET_PKT_MEMMGR_STATE(state, value)
Definition: enet_dma_pktutils.h:103
#define ENET_UTILS_SET_DESC_MEMMGR_STATE(state, value)
Definition: enet_dma_pktutils.h:128
static 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.
Definition: enet_dma_pktutils.h:274
EnetDma_PktStateDma
DMA Pkt state.
Definition: enet_dma_pktutils.h:171
@ ENET_PKTSTATE_MODULE_DRIVER
Definition: enet_dma_pktutils.h:204
static void EnetDma_checkDescState(uint32_t *pStateVar, EnetDma_DescStateMemMgr expectedState, EnetDma_DescStateMemMgr newState)
Descriptor state check & set API for descriptor memory manager.
Definition: enet_dma_pktutils.h:264
@ ENET_DESCSTATE_MEMMGR_FREE
Definition: enet_dma_pktutils.h:142
#define ENET_UTILS_GET_PKT_APP_STATE(state)
Definition: enet_dma_pktutils.h:109
@ ENET_PKTSTATE_MODULE_MEMMGR
Definition: enet_dma_pktutils.h:207
@ ENET_PKTSTATE_MEMMGR_FREE
Definition: enet_dma_pktutils.h:187
EnetDma_PktStateApp
App Pkt state.
Definition: enet_dma_pktutils.h:154
@ ENET_DESCSTATE_MEMMGR_ALLOC
Definition: enet_dma_pktutils.h:145
#define ENET_UTILS_GET_DESC_MEMMGR_STATE(state)
Definition: enet_dma_pktutils.h:123
#define ENET_UTILS_SET_PKT_DRIVER_STATE(state, value)
Definition: enet_dma_pktutils.h:92
EnetDma_DescStateMemMgr
Enet DMA Descriptor state.
Definition: enet_dma_pktutils.h:140
#define Enet_assert(cond,...)
Assertion.
Definition: enet_utils.h:121
EnetDma_PktStateMemMgr
Enet DMA Pkt state.
Definition: enet_dma_pktutils.h:185
@ ENET_PKTSTATE_MODULE_APP
Definition: enet_dma_pktutils.h:201
This file contains the type definitions and function prototypes of the Enet Utils functionality.