UDMA event related parameters and API.
Go to the source code of this file.
Data Structures | |
struct | Udma_EventPrms |
UDMA event related parameters. More... | |
struct | Udma_EventRxFlowIdFwStatus |
UDMAP receive flow id firewall status. More... | |
struct | Udma_EventObject |
Opaque UDMA event object. More... | |
Macros | |
#define | UDMA_EVENT_INVALID ((uint32_t) 0xFFFFU) |
Macro used to specify that event ID is invalid. More... | |
#define | UDMA_INTR_INVALID ((uint32_t) 0xFFFF0000U) |
Macro used to specify that interrupt number is invalid. More... | |
#define | UDMA_CORE_INTR_ANY ((uint32_t) 0xFFFF0001U) |
Macro used to specify any available free core interrupt while requesting one. Used in the API Udma_eventRegister. More... | |
#define | UDMA_MAX_EVENTS_PER_VINTR (64U) |
Max events per IA VINTR. More... | |
#define | UDMA_EVENT_TYPE_ERR_OUT_OF_RANGE_FLOW ((uint32_t) 0x0006U) |
Event type used to register an event for trapping an out of range flow ID received on a packet. More... | |
#define | UDMA_EVENT_TYPE_RING_MON ((uint32_t) 0x0007U) |
Ring monitor event used for getting callback when ring monitor event criteria is met. More... | |
UDMA Event Type | |
#define | UDMA_EVENT_TYPE_DMA_COMPLETION ((uint32_t) 0x0001U) |
DMA completion event. Incase of TX/RX channel usage through ring, this represents the completion queue ring event and the application can dequeue the descriptor post this event. More... | |
#define | UDMA_EVENT_TYPE_TEARDOWN_PACKET ((uint32_t) 0x0002U) |
DMA teardown completion event. Incase of TX/RX channel usage through ring, this represents the in-complete descriptor queued to the TD CQ ring during teardown operation. Note: This doesn't represent teardown completion of the channel. More... | |
#define | UDMA_EVENT_TYPE_TR ((uint32_t) 0x0003U) |
TR event to IA. More... | |
#define | UDMA_EVENT_TYPE_RING ((uint32_t) 0x0004U) |
Ring event used for getting callback when entries are there to be popped from ring. This is added to support usecases where the user can independently allocate and configure ring and requires callback when hardware occupancy in the ring goes to non-zero. Note: This is not tied to any channel handle. And hence the chHandle in the event params can be set to NULL (Ignored by driver) More... | |
#define | UDMA_EVENT_TYPE_MASTER ((uint32_t) 0x0005U) |
Event type used to register master event without providing source type like ring, DMA etc... This event type can be used to register the master event which reserves the IA and IR interrupt to a core without reserving global event ID and IMAP programming. Post this, the handle can be passed to controllerEventHandle for other event registeration to share the same IA and IR. More... | |
#define | UDMA_EVENT_TYPE_TEARDOWN_COMPLETION ((uint32_t) 0x0006U) |
DMA channel teardown completion event. Incase of TX/RX channel usage through ring, this represents the teardown completion of the channel. More... | |
UDMA Event Mode | |
#define | UDMA_EVENT_MODE_EXCLUSIVE ((uint32_t) 0x0001U) |
Event is exclusively allocated at Interrupt Aggregator. More... | |
#define | UDMA_EVENT_MODE_SHARED ((uint32_t) 0x0002U) |
Event is shared at Interrupt Aggregator and could be shared with any other events. More... | |
Typedefs | |
typedef void(* | Udma_EventCallback) (Udma_EventHandle eventHandle, uint32_t eventType, void *appData) |
UDMA event callback function. More... | |
Functions | |
int32_t | Udma_eventRegister (Udma_DrvHandle drvHandle, Udma_EventHandle eventHandle, Udma_EventPrms *eventPrms) |
UDMA event registration. More... | |
int32_t | Udma_eventUnRegister (Udma_EventHandle eventHandle) |
UDMA unregister event. More... | |
uint32_t | Udma_eventGetId (Udma_EventHandle eventHandle) |
Returns the event ID allocated for this event. More... | |
int32_t | Udma_eventDisable (Udma_EventHandle eventHandle) |
Disable the event at interrupt aggregator. More... | |
int32_t | Udma_eventEnable (Udma_EventHandle eventHandle) |
Enable the event at interrupt aggregator. More... | |
Udma_EventHandle | Udma_eventGetGlobalHandle (Udma_DrvHandle drvHandle) |
Get the global event handle of the driver handle. More... | |
void | UdmaEventPrms_init (Udma_EventPrms *eventPrms) |
Udma_EventPrms structure init function. More... | |