RTEMS  5.0.0
Macros | Functions | Variables
gmacd.c File Reference
#include "chip.h"
#include <string.h>

Macros

#define GCIRC_CNT(head, tail, size)   fixed_mod((head) - (tail), (size))
 
#define GCIRC_SPACE(head, tail, size)   GCIRC_CNT((tail),((head)+1),(size))
 
#define GCIRC_CNT_TO_END(head, tail, size)
 
#define GCIRC_SPACE_TO_END(head, tail, size)
 
#define GCIRC_INC(headortail, size)
 
#define GCIRC_EMPTY(head, tail)   (head == tail)
 
#define GCIRC_CLEAR(head, tail)   (head = tail = 0)
 

Functions

__STATIC_INLINE int fixed_mod (int a, int b)
 
void GMACD_TxPtpEvtMsgCBRegister (sGmacd *pGmacd, fGmacdTxPtpEvtCallBack pTxPtpEvtCb, gmacQueList_t queIdx)
 
void GMACD_Handler (sGmacd *pGmacd, gmacQueList_t queIdx)
 GMAC Interrupt handler. More...
 
void GMACD_Init (sGmacd *pGmacd, Gmac *pHw, uint8_t bID, uint8_t enableCAF, uint8_t enableNBC)
 Initialize the GMAC with the Gmac controller address. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
uint8_t GMACD_SetTxWakeupCallback (sGmacd *pGmacd, fGmacdWakeupCallback fWakeup, uint8_t bThreshold, gmacQueList_t queIdx)
 

Variables

uint8_t ptpTxQueWriteIdx = 0u
 
uint8_t ptpTxQueReadIdx = 0u
 
ptpMsgType gPtpMsgTxQue [EFRS_BUFFER_LEN]
 
uint16_t gPtpMsgTxSeqId [EFRS_BUFFER_LEN]
 
const uint32_t isrMasks []