Functions |
| void | GMACD_Handler (sGmacd *pGmacd, gmacQueList_t queIdx) |
| | GMAC Interrupt handler.
|
| void | GMACD_Init (sGmacd *pGmacd, Gmac *pHw, uint8_t bID, uint8_t enableCAF, uint8_t enableNBC) |
| | Initialize the GMAC with the Gmac controller address.
|
| uint8_t | GMACD_InitTransfer (sGmacd *pGmacd, const sGmacInit *pInit, gmacQueList_t queIdx) |
| void | GMACD_Reset (sGmacd *pGmacd) |
| uint8_t | GMACD_SendSG (sGmacd *pGmacd, const sGmacSGList *sgl, fGmacdTransferCallback fTxCb, gmacQueList_t queIdx) |
| | Send a frame split into buffers. If the frame size is larger than transfer buffer size error returned. If frame transfer status is monitored, specify callback for each frame.
|
| uint8_t | GMACD_Send (sGmacd *pGmacd, void *pBuffer, uint32_t size, fGmacdTransferCallback fTxCb, gmacQueList_t queIdx) |
| | Send a packet with GMAC. If the packet size is larger than transfer buffer size error returned. If packet transfer status is monitored, specify callback for each packet.
|
| uint32_t | GMACD_TxLoad (sGmacd *pGmacd, gmacQueList_t queIdx) |
| uint8_t | GMACD_Poll (sGmacd *pGmacd, uint8_t *pFrame, uint32_t frameSize, uint32_t *pRcvSize, gmacQueList_t queIdx) |
| | Receive a packet with GMAC. If not enough buffer for the packet, the remaining data is lost but right frame length is returned.
|
| void | GMACD_SetRxCallback (sGmacd *pGmacd, fGmacdTransferCallback fRxCb, gmacQueList_t queIdx) |
| | Registers pRxCb callback. Callback will be invoked after the next received frame. When GMAC_Poll() returns GMAC_RX_NO_DATA the application task call GMAC_Set_RxCb() to register pRxCb() callback and enters suspend state. The callback is in charge to resume the task once a new frame has been received. The next time GMAC_Poll() is called, it will be successful.
|
| uint8_t | GMACD_SetTxWakeupCallback (sGmacd *pGmacd, fGmacdWakeupCallback fWakeup, uint8_t bThreshold, gmacQueList_t queIdx) |
|
void | GMACD_TxPtpEvtMsgCBRegister (sGmacd *pGmacd, fGmacdTxPtpEvtCallBack pTxPtpEvtCb, gmacQueList_t queIdx) |
Register/Clear TX wakeup callback.
When GMACD_Send() returns GMACD_TX_BUSY (all TD busy) the application task calls GMACD_SetTxWakeupCallback() to register fWakeup() callback and enters suspend state. The callback is in charge to resume the task once several TD have been released. The next time GMACD_Send() will be called, it shall be successful.
This function is usually invoked with NULL callback from the TX wakeup callback itself, to unregister. Once the callback has resumed the application task, there is no need to invoke the callback again.
- Parameters:
-
| pGmacd | Pointer to GMAC Driver instance. |
| fWakeup | Wakeup callback. |
| bThreshold | Number of free TD before wakeup callback invoked. |
- Returns:
- GMACD_OK, GMACD_PARAM on parameter error.
Definition at line 1038 of file gmacd.c.