MCUSW
|
The Ethernet Driver provides low-level access to the two-port Gigabit Ethernet Switch (MCU_CPSW0) hardware in the Jacinto 7 family. The first port (Port 0) is called host port and has a CPPI interface that interconnects the CPSW peripheral with the rest of the SoC. The second port (Port 1) is a MAC port which can be configured in RGMII or RMII mode.
The Ethernet Driver implements the standardized interface described in the AUTOSAR Release 4.2.1 Specification of the Ethernet Driver (AUTOSAR_SWS_EthDriver, Document ID 430).
The Ethernet Driver is part of the Communication Stack in the AUTOSAR Basic Software (BSW).
Sub Modules | |
Eth Configuration | |
Eth Driver Interrupt Handlers | |
Functions | |
void | Eth_Init (const Eth_ConfigType *CfgPtr) |
This function initializes the driver. More... | |
Std_ReturnType | Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode) |
This function enables / disables the indexed controller. More... | |
Std_ReturnType | Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType *CtrlModePtr) |
This function obtains the state of the indexed controller. More... | |
void | Eth_GetPhysAddr (uint8 CtrlIdx, uint8 *PhysAddrPtr) |
This function obtains the physical source address used by the indexed controller. More... | |
void | Eth_SetPhysAddr (uint8 CtrlIdx, const uint8 *PhysAddrPtr) |
This function sets the physical source address used by the indexed controller. More... | |
Std_ReturnType | Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, uint8 *PhysAddrPtr, Eth_FilterActionType Action) |
This function updates the physical source address to / from the indexed controller filter. More... | |
Std_ReturnType | Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal) |
This function configures a transceiver register or triggers a function offered by the receiver Service. More... | |
Std_ReturnType | Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 *RegValPtr) |
This function reads a transceiver register. More... | |
Std_ReturnType | Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType *CounterPtr) |
This function reads a list with counter values of the corresponding controller. More... | |
Std_ReturnType | Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType *RxStats) |
This function reads a list with RX statistics values of the corresponding controller. More... | |
Std_ReturnType | Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType *TxStats) |
This function reads a list with TX statistics values of the corresponding controller. More... | |
Std_ReturnType | Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType *TxErrorCounterValues) |
This function reads a list of values to read statistic error counter values for transmission for corresponding controller. More... | |
Std_ReturnType | Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr) |
This function returns a time value out of the HW registers. More... | |
void | Eth_EnableEgressTimeStamp (uint8 CtrlIdx, uint8 BufIdx) |
This function activates egress time stamping on a dedicated message object. More... | |
void | Eth_GetEgressTimeStamp (uint8 CtrlIdx, uint8 BufIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr) |
This function reads back the egress time stamp on a dedicated message object. More... | |
void | Eth_GetIngressTimeStamp (uint8 CtrlIdx, Eth_DataType *DataPtr, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr) |
This function reads back the ingress time stamp on a dedicated message object. More... | |
void | Eth_SetCorrectionTime (uint8 CtrlIdx, Eth_TimeIntDiffType *timeOffsetPtr, Eth_RateRatioType *rateRatioPtr) |
This function allows the Time Slave to adjust the local ETH Reference clock in HW. More... | |
Std_ReturnType | Eth_SetGlobalTime (uint8 CtrlIdx, Eth_TimeStampType *timeStampPtr) |
This function allows the Time Master to adjust the global ETH Reference clock in HW. More... | |
BufReq_ReturnType | Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType *BufIdxPtr, uint8 **BufPtr, uint16 *LenBytePtr) |
This function provides access to a transmit buffer of the specified controller. More... | |
Std_ReturnType | Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, uint8 *PhysAddrPtr) |
This function triggers transmission of a previously filled transmit buffer. More... | |
Std_ReturnType | Eth_TransmitNoCpy (uint8 CtrlIdx, uint8 *BufPtr, Eth_FrameType FrameType, uint16 LenByte, uint8 *PhysAddrPtr) |
This function triggers transmission of a packet without buffer copy. More... | |
void | Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType *RxStatusPtr) |
This function triggers frame reception. More... | |
void | Eth_TxConfirmation (uint8 CtrlIdx) |
This function triggers frame transmission confirmation. More... | |
void | Eth_GetVersionInfo (Std_VersionInfoType *VersionInfo) |
Function returns the version information of this module. More... | |
void | Eth_MainFunction (void) |
The function checks for controller errors and lost frames. Used for polling state changes. Calls EthIf_CtrlModeIndication when the controller mode changed. More... | |
Std_ReturnType | Eth_VirtMacRpcInit (const Eth_ConfigType *CfgPtr) |
This function initializes Eth Virtual MAC driver's Remote Procedure Call. More... | |
Std_ReturnType | Eth_DispatchVirtmacInit (uint8 CtrlIdx) |
Dispatch virtual mac initialization request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacDeinit (uint8 CtrlIdx) |
Dispatch virtual mac deinit request to ethernet firmware. More... | |
Std_ReturnType | Eth_NotifyVirtmacMsgReceived (uint8 CtrlIdx) |
Notify Ethernet driver that a RPC msg has been received from ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacSubscribeAllTraffic (uint8 CtrlIdx) |
Dispatch virtual mac all traffic subscription request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacUnsubscribeAllTraffic (uint8 CtrlIdx) |
Dispatch virtual mac all traffic unsubscription request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacSubscribeDstMac (uint8 CtrlIdx, uint8 *macAddress) |
Dispatch virtual mac destination mac traffic subscription request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacUnsubscribeDstMac (uint8 CtrlIdx, uint8 *macAddress) |
Dispatch virtual mac destination traffic unsubscription request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacAssociateIPv4Macaddr (uint8 CtrlIdx, uint8 *ipv4Address, uint8 *macAddress) |
Dispatch virtual mac IPV4 address:destination mac association request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacDisassociateIPv4Macaddr (uint8 CtrlIdx, uint8 *ipv4Address) |
Dispatch virtual mac IPV4 address:destination mac disassociation request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacAddUnicastAddr (uint8 CtrlIdx, uint8 *macAddress, Eth_PortType port, uint32 vlanId) |
Dispatch virtual mac addition of given unicast address to switch address resolution table request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacAddMcastAddr (uint8 CtrlIdx, uint8 *macAddress, uint32 numLsbToIgnore, uint32 vlanId, Eth_PortListType *portList) |
Dispatch virtual mac addition of given multicast address to switch address resolution table request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacDelAddr (uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId) |
Dispatch virtual mac removal of given mac address from switch address resolution table request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacAddVlan (uint8 CtrlIdx, uint32 vlanId, Eth_PortListType *portList) |
Dispatch virtual mac addition of given vlan id to switch address resolution table request to ethernet firmware. More... | |
Std_ReturnType | Eth_DispatchVirtmacDelVlan (uint8 CtrlIdx, uint32 vlanId) |
Dispatch virtual mac removal of given vlanid from switch address resolution table request to ethernet firmware. More... | |
Std_ReturnType | Eth_SendCustomNotify (uint8 CtrlIdx, void *notifyInfo, uint32 notifyLen) |
Send a custom notification to the ethernet firmware with given notify info and notify len. More... | |
Std_ReturnType | Eth_RetrieveRxReadyQ (uint8 CtrlIdx, Eth_PktQ *retrievePktQ) |
This function retrieves a queue of received Ethernet frames. More... | |
Std_ReturnType | Eth_SubmitRxFreeQ (uint8 CtrlIdx, Eth_PktQ *submitPktQ) |
This function submits a queue of free Ethernet frames for future reception. More... | |
Std_ReturnType | Eth_SubmitTxReadyQ (uint8 CtrlIdx, Eth_PktQ *submitPktQ) |
This function submits a queue of Ethernet frames for transmission. More... | |
Std_ReturnType | Eth_RetrieveTxDoneQ (uint8 CtrlIdx, Eth_PktQ *retrievePktQ) |
This function retrieves a queue of Ethernet frames that have already being used for transmission. More... | |
Eth Driver Module SW Version Info | |
Definitions for the Eth Driver version used for compatibility checks | |
#define | ETH_SW_MAJOR_VERSION (1U) |
Driver Implementation Major Version. More... | |
#define | ETH_SW_MINOR_VERSION (5U) |
Driver Implementation Minor Version. More... | |
#define | ETH_SW_PATCH_VERSION (0U) |
Driver Implementation Patch Version. More... | |
Eth Driver Module AUTOSAR Version Info | |
Definitions for the Etj Driver AUTOSAR version used for compatibility checks | |
#define | ETH_AR_RELEASE_MAJOR_VERSION (4U) |
AUTOSAR Major version specification implemented by Eth Driver. More... | |
#define | ETH_AR_RELEASE_MINOR_VERSION (3U) |
AUTOSAR Minor version specification implemented by Eth Driver. More... | |
#define | ETH_AR_RELEASE_REVISION_VERSION (1U) |
AUTOSAR Patch version specification implemented by Eth Driver. More... | |
Eth Driver ID Info | |
#define | ETH_VENDOR_ID ((uint16) 44U) |
Texas Instruments Vendor ID. More... | |
#define | ETH_MODULE_ID ((uint16) 88U) |
Eth Driver Module ID. More... | |
#define | ETH_INSTANCE_ID ((uint8) 0U) |
Eth Driver Instance ID. More... | |
Eth Controller names | |
#define | ETH_CONTROLLER_ID_0 (0U) |
Eth controller ID 0. More... | |
Eth Error Codes | |
Error codes returned by Eth functions | |
#define | ETH_E_INV_CTRL_IDX ((uint8) 0x01U) |
Invalid controller index. More... | |
#define | ETH_E_UNINIT ((uint8) 0x02U) |
Eth module was not initialized. More... | |
#define | ETH_E_PARAM_POINTER ((uint8) 0x03U) |
Invalid pointer in parameter list. More... | |
#define | ETH_E_INV_PARAM ((uint8) 0x04U) |
Invalid parameter. More... | |
#define | ETH_E_INV_MODE ((uint8) 0x05U) |
Invalid mode. More... | |
#define | ETH_E_VIRTMAC_APIMISMATCH ((uint8) 0x07U) |
Mismatch in API version between Eth Driver and ethernet firmware. More... | |
#define | ETH_E_VIRTMAC_RPCCMDFAILED ((uint8) 0x08U) |
Virtual MAC RPC command failed. More... | |
#define | ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY ((uint8) 0x09U) |
Ethernet MCAL RPC client received unhandled notify from ethernet firmware server. More... | |
#define | ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD ((uint8) 0x0AU) |
Rpc Command sent by client not supported by server. More... | |
#define | ETH_E_BUSY ((uint8) 0x0BU) |
Device or resource is busy. More... | |
#define ETH_SW_MAJOR_VERSION (1U) |
Driver Implementation Major Version.
#define ETH_SW_MINOR_VERSION (5U) |
Driver Implementation Minor Version.
#define ETH_SW_PATCH_VERSION (0U) |
Driver Implementation Patch Version.
#define ETH_AR_RELEASE_MAJOR_VERSION (4U) |
AUTOSAR Major version specification implemented by Eth Driver.
#define ETH_AR_RELEASE_MINOR_VERSION (3U) |
AUTOSAR Minor version specification implemented by Eth Driver.
#define ETH_AR_RELEASE_REVISION_VERSION (1U) |
AUTOSAR Patch version specification implemented by Eth Driver.
#define ETH_VENDOR_ID ((uint16) 44U) |
Texas Instruments Vendor ID.
#define ETH_MODULE_ID ((uint16) 88U) |
Eth Driver Module ID.
#define ETH_INSTANCE_ID ((uint8) 0U) |
Eth Driver Instance ID.
#define ETH_CONTROLLER_ID_0 (0U) |
Eth controller ID 0.
#define ETH_E_INV_CTRL_IDX ((uint8) 0x01U) |
Invalid controller index.
#define ETH_E_UNINIT ((uint8) 0x02U) |
Eth module was not initialized.
#define ETH_E_PARAM_POINTER ((uint8) 0x03U) |
Invalid pointer in parameter list.
#define ETH_E_INV_PARAM ((uint8) 0x04U) |
Invalid parameter.
#define ETH_E_INV_MODE ((uint8) 0x05U) |
Invalid mode.
#define ETH_E_VIRTMAC_APIMISMATCH ((uint8) 0x07U) |
Mismatch in API version between Eth Driver and ethernet firmware.
#define ETH_E_VIRTMAC_RPCCMDFAILED ((uint8) 0x08U) |
Virtual MAC RPC command failed.
#define ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY ((uint8) 0x09U) |
Ethernet MCAL RPC client received unhandled notify from ethernet firmware server.
#define ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD ((uint8) 0x0AU) |
Rpc Command sent by client not supported by server.
#define ETH_E_BUSY ((uint8) 0x0BU) |
Device or resource is busy.
void Eth_Init | ( | const Eth_ConfigType * | CfgPtr | ) |
This function initializes the driver.
* Service name : Eth_Init * Syntax : void Eth_Init( * const Eth_ConfigType* CfgPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x01 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CfPtr. Points to the implementation specific structure * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Initializes the Ethernet Driver. *
Std_ReturnType Eth_SetControllerMode | ( | uint8 | CtrlIdx, |
Eth_ModeType | CtrlMode | ||
) |
This function enables / disables the indexed controller.
* Service name : Eth_SetControllerMode * Syntax : Std_ReturnType Eth_SetControllerMode( * uint8 CtrlIdx, * Eth_ModeType CtrlMode * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x03 * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * CtrlMode. * ETH_MODE_DOWN: disable the controller * ETH_MODE_ACTIVE: enable the controller * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: controller mode could not be changed * Description : Enables / disables the indexed controller. *
Std_ReturnType Eth_GetControllerMode | ( | uint8 | CtrlIdx, |
Eth_ModeType * | CtrlModePtr | ||
) |
This function obtains the state of the indexed controller.
* Service name : Eth_GetControllerMode * Syntax : Std_ReturnType Eth_GetControllerMode( * uint8 CtrlIdx, * Eth_ModeType *CtrlModePtr * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x04 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): CtrlModePtr * ETH_MODE_DOWN: the controller is disabled * ETH_MODE_ACTIVE: the controller is enabled * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: controller mode could not be obtained * Description : Obtains the state of the indexed controller. *
void Eth_GetPhysAddr | ( | uint8 | CtrlIdx, |
uint8 * | PhysAddrPtr | ||
) |
This function obtains the physical source address used by the indexed controller.
* Service name : Eth_GetPhysAddr * Syntax : void Eth_GetPhysAddr( * uint8 CtrlIdx, * uint8 *PhysAddrPtr * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x08 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): * Parameters (out) : PhysAddrPtr. Physical source address (MAC address) in network * byte order * Return value : None * Description : Obtains the physical source address used by the indexed * controller. *
void Eth_SetPhysAddr | ( | uint8 | CtrlIdx, |
const uint8 * | PhysAddrPtr | ||
) |
This function sets the physical source address used by the indexed controller.
* Service name : Eth_SetPhysAddr * Syntax : void Eth_SetPhysAddr( * uint8 CtrlIdx, * const uint8* PhysAddrPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x13 * Sync/Async : Synchronous * Reentrancy : Non Reentrant for the same CtrlIdx, reentrant for different * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * PhysAddrPtr. Pointer to memory containing the physical source * address (MAC address) in network byte order * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Sets the physical source address used by the indexed * controller. *
Std_ReturnType Eth_UpdatePhysAddrFilter | ( | uint8 | CtrlIdx, |
uint8 * | PhysAddrPtr, | ||
Eth_FilterActionType | Action | ||
) |
This function updates the physical source address to / from the indexed controller filter.
* Service name : Eth_UpdatePhysAddrFilter * Syntax : Std_ReturnType Eth_UpdatePhysAddrFilter( * uint8 CtrlIdx, * uint8* PhysAddrPtr, * Eth_FilterActionType Action * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x12 * Sync/Async : Synchronous * Reentrancy : Non Reentrant for the same CtrlIdx, reentrant for different * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * PhysAddrPtr. Pointer to memory containing the physical source * address (MAC address) in network byte order * Action. Add or remove the address from the Ethernet controllers * filter * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: filter was successfully changed * E_NOT_OK: filter could not be changed * Description : Updates the physical source address to/from the indexed ontroller * filter. If the Ethernet Controller is not capable to do the * filtering, the software has to do this. *
Std_ReturnType Eth_WriteMii | ( | uint8 | CtrlIdx, |
uint8 | TrcvIdx, | ||
uint8 | RegIdx, | ||
uint16 | RegVal | ||
) |
This function configures a transceiver register or triggers a function offered by the receiver Service.
* Service name : Eth_WriteMii * Syntax : Std_ReturnType Eth_WriteMii( * uint8 CtrlIdx, * uint8 TrcvIdx, * uint8 RegIdx, * uint16 RegVal * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x05 * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * TrcvIdx. Index of the transceiver on the MII * RegIdx.Index of the transceiver register on the MII * RegVal. Value to be written into the indexed registerNone * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: Service accepted * E_NOT_OK: Service denied * ETH_E_NO_ACCESS: Ethernet transceiver access failure * Description : Configures a transceiver register or triggers a function * offered by the receiver. *
Std_ReturnType Eth_ReadMii | ( | uint8 | CtrlIdx, |
uint8 | TrcvIdx, | ||
uint8 | RegIdx, | ||
uint16 * | RegValPtr | ||
) |
This function reads a transceiver register.
* Service name : Eth_ReadMii * Syntax : Std_ReturnType Eth_ReadMii( * uint8 CtrlIdx, * uint8 TrcvIdx, * uint8 RegIdx, * uint16* RegValPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x06 * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * TrcvIdx. Index of the transceiver on the MII * RegIdx. Index of the transceiver register on the MII * RegVal. Value to be written into the indexed register * Parameters (inout): None * Parameters (out) : RegValPtr. Filled with the register content of the indexed * register * Return value : Std_ReturnType * E_OK: Service accepted * E_NOT_OK: Service denied * ETH_E_NO_ACCESS: Ethernet transceiver access failure * Description : Reads a transceiver register. *
Std_ReturnType Eth_GetCounterValues | ( | uint8 | CtrlIdx, |
Eth_CounterType * | CounterPtr | ||
) |
This function reads a list with counter values of the corresponding controller.
* Service name : Eth_GetCounterValues * Syntax : Std_ReturnType Eth_GetCounterValues(uint8 CtrlIdx, * Eth_CounterType* CounterPtr); * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x14 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (out) : CounterPtr. counter values according to IETF RFC 1757, RFC 1643 and * RFC 2233. Refer to the \ref Eth_CounterType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : Reads a list with drop counter values of the corresponding controller. * The meaning of these values is described at Eth_CounterType *
Std_ReturnType Eth_GetRxStats | ( | uint8 | CtrlIdx, |
Eth_RxStatsType * | RxStats | ||
) |
This function reads a list with RX statistics values of the corresponding controller.
* Service name : Eth_GetRxStats * Syntax : Std_ReturnType Eth_GetRxStats( * uint8 CtrlIdx, * Eth_RxStatsType* RxStats * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x15 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : RxStats. List of values according to IETF RFC 2819 (Remote Network * Monitoring Management Information Base). Refer to the \ref Eth_RxStatsType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : *
Std_ReturnType Eth_GetTxStats | ( | uint8 | CtrlIdx, |
Eth_TxStatsType * | TxStats | ||
) |
This function reads a list with TX statistics values of the corresponding controller.
* Service name : Eth_GetTxStats * Syntax : Std_ReturnType Eth_GetTxStats( * uint8 CtrlIdx, * Eth_TxStatsType* TxStats * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x15 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : TxStats. List of values according to IETF RFC 2819 (Remote Network * Monitoring Management Information Base). Refer to the \ref Eth_TxStatsType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : *
Std_ReturnType Eth_GetTxErrorCounterValues | ( | uint8 | CtrlIdx, |
Eth_TxErrorCounterValuesType * | TxErrorCounterValues | ||
) |
This function reads a list of values to read statistic error counter values for transmission for corresponding controller.
* Service name : Eth_GetTxErrorCounterValues * Syntax : Eth_GetTxErrorCounterValues(uint8 CtrlIdx, * Eth_TxErrorCounterValuesType *TxErrorCounterValues) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x15 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : TxErrorCounterValues. List of values to read statistic error counter values * for transmission. Refer to the \ref Eth_TxErrorCounterValuesType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : *
Std_ReturnType Eth_GetCurrentTime | ( | uint8 | CtrlIdx, |
Eth_TimeStampQualType * | timeQualPtr, | ||
Eth_TimeStampType * | timeStampPtr | ||
) |
This function returns a time value out of the HW registers.
* Service name : Eth_GetCurrentTime * Syntax : Std_ReturnType Eth_GetCurrentTime( * uint8 CtrlIdx, * Eth_TimeStampQualType *timeQualPtr, * Eth_TimeStampType *timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x16 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : timeQualPtr. Quality of HW time stamp, e.g. based on current * drift * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: failed * Description : Returns a time value out of the HW registers according * to the capability of the HW. Is the HW resolution is lower than * the Eth_TimeStampType resolution resp. range, than an the * remaining bits will be filled with 0. *
void Eth_EnableEgressTimeStamp | ( | uint8 | CtrlIdx, |
uint8 | BufIdx | ||
) |
This function activates egress time stamping on a dedicated message object.
* Service name : Eth_EnableEgressTimeStamp * Syntax : void Eth_EnableEgressTimeStamp( * uint8 CtrlIdx, * uint8 BufIdx * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x17 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufIdx. Index of the message buffer, where Application * expects egress time stamping * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Activates egress time stamping on a dedicated message * object. * Some HW does store once the egress time stamp marker and * some HW needs it always before transmission. There will be * no disable functionality, due to the fact, that the message * type is always "time stamped" by network design. *
void Eth_GetEgressTimeStamp | ( | uint8 | CtrlIdx, |
uint8 | BufIdx, | ||
Eth_TimeStampQualType * | timeQualPtr, | ||
Eth_TimeStampType * | timeStampPtr | ||
) |
This function reads back the egress time stamp on a dedicated message object.
* Service name : Eth_GetEgressTimeStamp * Syntax : void Eth_GetEgressTimeStamp( * uint8 CtrlIdx, * uint8 BufIdx, * Eth_TimeStampQualType* timeQualPtr, * Eth_TimeStampType *timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x18 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufIdx. Index of the message buffer, where Application * expects egress time stamping * Parameters (inout): timeQualPtr. Quality of HW time stamp, e.g. based on current * drift * timeStampPtr. Current time stamp * Parameters (out) : None * Return value : None * Description : Reads back the egress time stamp on a dedicated message * object. * It must be called within the TxConfirmation() function. *
void Eth_GetIngressTimeStamp | ( | uint8 | CtrlIdx, |
Eth_DataType * | DataPtr, | ||
Eth_TimeStampQualType * | timeQualPtr, | ||
Eth_TimeStampType * | timeStampPtr | ||
) |
This function reads back the ingress time stamp on a dedicated message object.
* Service name : Eth_GetIngressTimeStamp * Syntax : void Eth_GetIngressTimeStamp( * uint8 CtrlIdx, * Eth_DataType* DataPtr, * Eth_TimeStampQualType* timeQualPtr, * Eth_TimeStampType *timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x19 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * DataPtr. Pointer to the message buffer, where Application * expects ingress time stamping * Parameters (inout): timeQualPtr. Quality of HW time stamp, e.g. based on current * drift * timeStampPtr. Current time stamp * Parameters (out) : None * Return value : None * Description : Reads back the ingress time stamp on a dedicated message * object. * It must be called within the RxIndication() function. *
void Eth_SetCorrectionTime | ( | uint8 | CtrlIdx, |
Eth_TimeIntDiffType * | timeOffsetPtr, | ||
Eth_RateRatioType * | rateRatioPtr | ||
) |
This function allows the Time Slave to adjust the local ETH Reference clock in HW.
* Service name : Eth_SetCorrectionTime * Syntax : void Eth_SetCorrectionTime( * uint8 CtrlIdx, * Eth_TimeIntDiffType* timeOffsetPtr, * Eth_RateRatioType *rateRatioPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x1A * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): timeOffsetPtr. Offset between time stamp grandmaster and * time stamp by local clock: * (OriginTimeStampSync[FUP] - IngressTimeStampSync) + * Pdelay * rateRatioPtr. Time elements to calculate and to modify the * ratio of the frequency of the grandmaster in * relation to the frequency of the Local Clock * with: * ratio = OriginTimeStampDelta / IngressTimeStampDelta * Parameters (out) : None * Return value : None * Description : Allows the Time Slave to adjust the local ETH Reference * clock in HW. *
Std_ReturnType Eth_SetGlobalTime | ( | uint8 | CtrlIdx, |
Eth_TimeStampType * | timeStampPtr | ||
) |
This function allows the Time Master to adjust the global ETH Reference clock in HW.
* Service name : Eth_SetGlobalTime * Syntax : Std_ReturnType Eth_SetGlobalTime( * uint8 CtrlIdx, * Eth_TimeStampType* timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x1B * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * timeStampPtr. New time stamp * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: failed * Description : Allows the Time Master to adjust the global ETH Reference * clock in HW. We can use this method to set a global time base * on ETH in general or to synchronize the global ETH time base * with another time base, e.g. FlexRay. *
BufReq_ReturnType Eth_ProvideTxBuffer | ( | uint8 | CtrlIdx, |
uint8 | Priority, | ||
Eth_BufIdxType * | BufIdxPtr, | ||
uint8 ** | BufPtr, | ||
uint16 * | LenBytePtr | ||
) |
This function provides access to a transmit buffer of the specified controller.
* Service name : Eth_ProvideTxBuffer * Syntax : BufReq_ReturnType Eth_ProvideTxBuffer( * uint8 CtrlIdx, * uint8 Priority, * uint8* BufIdxPtr, * uint8** BufPtr, * uint16* LenBytePtr * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x09 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : Priority. Frame priority for transmit buffer FIFO selection * Parameters (inout): LenBytePtr * In: desired length in bytes, out: granted length in bytes * Parameters (out) : BufIdxPtr. Index to the granted buffer resource. To be used * for subsequent requests * BufPtr. Pointer to the granted buffer * Return value : BufReq_ReturnType * BUFREQ_OK: success * BUFREQ_E_NOT_OK: development error detected * BUFREQ_E_BUSY: all buffers in use * BUFREQ_E_OVFL: requested buffer too large * Description : Provides access to a transmit buffer of the specified * controller. *
Std_ReturnType Eth_Transmit | ( | uint8 | CtrlIdx, |
Eth_BufIdxType | BufIdx, | ||
Eth_FrameType | FrameType, | ||
boolean | TxConfirmation, | ||
uint16 | LenByte, | ||
uint8 * | PhysAddrPtr | ||
) |
This function triggers transmission of a previously filled transmit buffer.
* Service name : Eth_Transmit * Syntax : Std_ReturnType Eth_Transmit( * uint8 CtrlIdx, * uint8 BufIdx, * Eth_FrameType FrameType, * boolean TxConfirmation, * uint16 LenByte, * uint8 *PhysAddrPtr) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0xA * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufIdx. Index of the buffer resource * FrameType. Ethernet frame type * TxConfirmation. Activates transmission confirmation * LenByte. Data length in byte * PhysAddrPtr. Physical target address (MAC address) in * network byte order * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * Description : Triggers transmission of a previously filled transmit * buffer. *
Std_ReturnType Eth_TransmitNoCpy | ( | uint8 | CtrlIdx, |
uint8 * | BufPtr, | ||
Eth_FrameType | FrameType, | ||
uint16 | LenByte, | ||
uint8 * | PhysAddrPtr | ||
) |
This function triggers transmission of a packet without buffer copy.
* Service name : Eth_TransmitNoCpy * Syntax : Std_ReturnType Eth_TransmitNoCpy( * uint8 CtrlIdx, * uint8 *BufPtr, * Eth_FrameType FrameType, * uint16 LenByte, * uint8 *PhysAddrPtr) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x2B * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufPtr. Pointer to the packet buffer * FrameType. Ethernet frame type * LenByte. Data length in byte * PhysAddrPtr. Physical target address (MAC address) in * network byte order * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * ETH_E_BUSY: hardware is busy and can't take new buffer * Description : Triggers transmission of a previously filled packet * buffer without performing additional buffer copy. *
void Eth_Receive | ( | uint8 | CtrlIdx, |
uint8 | FifoIdx, | ||
Eth_RxStatusType * | RxStatusPtr | ||
) |
This function triggers frame reception.
* Service name : Eth_Receive * Syntax : void Eth_Receive( * uint8 CtrlIdx, * uint8 FifoIdx, * Eth_RxStatusType* RxStatusPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0xB * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : FifoIdx. Specifies the related fifo * Parameters (inout): None * Parameters (out) : RxStatusPtr. Indicates whether a frame has been received and * if so, whether more frames are available or * frames got lost * Return value : None * Description : Triggers frame reception. *
void Eth_TxConfirmation | ( | uint8 | CtrlIdx | ) |
This function triggers frame transmission confirmation.
* Service name : Eth_TxConfirmation * Syntax : void Eth_TxConfirmation( * uint8 CtrlIdx * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0xC * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Triggers frame transmission confirmation. *
void Eth_GetVersionInfo | ( | Std_VersionInfoType * | VersionInfo | ) |
Function returns the version information of this module.
* Service name : Eth_GetVersionInfo * Syntax : void Eth_GetVersionInfo( * Std_VersionInfoType* versioninfo * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0xD * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : None * Parameters (inout): None * Parameters (out) : VersionInfoPtr. Pointer to where to store the version * information of this module * Return value : None * Description : Returns the version information of this module. *
void Eth_MainFunction | ( | void | ) |
The function checks for controller errors and lost frames. Used for polling state changes. Calls EthIf_CtrlModeIndication when the controller mode changed.
* Service name : Eth_MainFunction * Syntax : void Eth_MainFunction( * void * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x0A * Description : The function checks for controller errors and lost frames. * Used for polling state changes. Calls EthIf_CtrlModeIndication * when the controller mode changed. *
Std_ReturnType Eth_VirtMacRpcInit | ( | const Eth_ConfigType * | CfgPtr | ) |
This function initializes Eth Virtual MAC driver's Remote Procedure Call.
* Service name : Eth_VirtMacRpcInit * Syntax : Std_ReturnType Eth_VirtMacRpcInit(Eth_ConfigType *CfgPtr) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x2BU * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CfgPtr. Pointer to virt mac config struct. Refer to /ref Eth_ConfigType * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function initializes the RPC configuration required to invoke remote procedure * calls to ethernet firmware to enable data path setup to AUTOSAR Eth MCAL * driver. On initialization of AUTOSAR MCAL driver in virtual mac mode, the driver * announces autosar ethernet mcal driver RpMsg service to the ethernet * firmware core. The ethernet firmware server service will block waiting for * the announcment from MCAL driver and then attach to the Ethernet MCAL driver * by sending it a EthFwInfo msg * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacInit | ( | uint8 | CtrlIdx | ) |
Dispatch virtual mac initialization request to ethernet firmware.
* Service name : Eth_DispatchVirtmacInit * Syntax : Std_ReturnType Eth_DispatchVirtmacInit(CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x1CU * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to allocate data path resources. * The allocated Tx, Rx DMA channels are then setup in the * Eth_Init() API. The function only send the * RPC msg to ethernet firmware core. Completion of RPC msg * processing is indicated by invokcation of * rpcCmdComplete part of Eth_ConfigType sturcture. * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacDeinit | ( | uint8 | CtrlIdx | ) |
Dispatch virtual mac deinit request to ethernet firmware.
* Service name : Eth_DispatchVirtmacDeinit * Syntax : Std_ReturnType Eth_DispatchVirtmacDeinit(CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x1DU * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to free data path resources. * This function dispatches RPC msg to ethernet firmware core. * Completion of RPC msg processing is indicated by invokcation * of rpcCmdComplete part of Eth_ConfigType sturcture. * Once complete the data path to Ethernet virtual MAC * has been torn down and driver can no loner send or receive packets *
Std_ReturnType Eth_NotifyVirtmacMsgReceived | ( | uint8 | CtrlIdx | ) |
Notify Ethernet driver that a RPC msg has been received from ethernet firmware.
* Service name : Eth_NotifyVirtmacMsgReceived * Syntax : Std_ReturnType Eth_NotifyVirtmacMsgReceived(CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x1EU * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : Invocation of this function will cause the Ethernet * MCAL driver to process any queued messages received * from ethernet firmware. Depending on type of msg received * ethernet firmware will invoke rpcCmdComplete/fwRegisteredCb * application callbacks. This function is typically * called from the Cdd_IpcNewMessageNotify if the channel * id matches the Ethernet MCAL IPC channel id * (ethfwRpcComChId member of Eth_ConfigType structure) * Application can also trigger recv msg processing by * setting pollRecvMsgInEthMain in Eth_ConfigType to TRUE * Invoking Eth_MainFunction with this config set will * trigger recv msg processing. In triggering recv msg * processing from Eth_MainFunction, this API should be * disabled * *
Std_ReturnType Eth_DispatchVirtmacSubscribeAllTraffic | ( | uint8 | CtrlIdx | ) |
Dispatch virtual mac all traffic subscription request to ethernet firmware.
* Service name : Eth_DispatchVirtmacSubscribeAllTraffic * Syntax : Std_ReturnType Eth_DispatchVirtmacSubscribeAllTraffic(CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x1FU * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to subscribe to all default flow traffic * received on host port.The default flow contains all * traffic that is not explicitly categorized into a specific * flow using a classifier entry in the switch . * Note that only one core can subscribe to default flow * traffic in a system and this is by default the ethernet * firmware core. This API requires a compatible ethernet * firmware that _does_ _not_ subscribe to default flow * and allows Eth Driver to subscribe to default flow * The function only send the RPC msg to ethernet firmware core. * Completion of RPC msg processing is indicated by invokcation of * rpcCmdComplete part of Eth_ConfigType sturcture. * A failure status indicates ethernet firmware does not allow * AUTOSAR Eth Driver to subscribe to default flow * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeAllTraffic() * 7. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacUnsubscribeAllTraffic | ( | uint8 | CtrlIdx | ) |
Dispatch virtual mac all traffic unsubscription request to ethernet firmware.
* Service name : Eth_DispatchVirtmacUnsubscribeAllTraffic * Syntax : Std_ReturnType Eth_DispatchVirtmacUnsubscribeAllTraffic(CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x20U * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to unsubscribe to all default flow traffic * received on host port.The driver should have subscribed * to all default flow traffic previously by invoking * Eth_DispatchVirtmacSubscribeAllTraffic(). * On unsubscribing to default flow all traffic with * default flow will be dropped. * The function only send the RPC msg to ethernet firmware core. * Completion of RPC msg processing is indicated by invokcation of * rpcCmdComplete part of Eth_ConfigType sturcture. * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeAllTraffic() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_SetControllerMode(ETH_MODE_ACTIVE) * 9. Packet processing using Eth_Receive/Eth_Trasmit * 10. Eth_DispatchVirtmacUnsubscribeAllTraffic * 11. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure * *
Std_ReturnType Eth_DispatchVirtmacSubscribeDstMac | ( | uint8 | CtrlIdx, |
uint8 * | macAddress | ||
) |
Dispatch virtual mac destination mac traffic subscription request to ethernet firmware.
* Service name : Eth_DispatchVirtmacSubscribeDstMac * Syntax : Std_ReturnType Eth_DispatchVirtmacSubscribeDstMac(CtrlIdx, macAddress) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x21 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * macAddress: Destination Mac address * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to subscribe to traffic with the given * destination macAddress to be routed to the rx flow * of the Ethernet MCAL driver so that driver can receive * the packets.The macAddres can be a unicast address * allocated to the EthDriver (returned by Eth_GetPhysAddr()) * or a multicast address. * The switch address resolution table should have an entry to * route the destination mac address to the host port. * For unicast address , the switch address resolution table * can be updated using Eth_DispatchVirtmacAddUnicastAddr() * For multicast address , the switch address resolution table * can be updated using Eth_DispatchVirtmacAddMcastAddr() * Note that broadcast address is usually subscribed to by * ethernet firmware so that it can respond to ARP requests. * If ARP response handling by ethernet firmware is required, * Eth driver should not be subscribed to broadcast address. * The function only send the RPC msg to ethernet firmware core. * Completion of RPC msg processing is indicated by invokcation of * rpcCmdComplete part of Eth_ConfigType sturcture. * A failure status indicates ethernet firmware does not allow * AUTOSAR Eth Driver to subscribe to default flow * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacUnsubscribeDstMac | ( | uint8 | CtrlIdx, |
uint8 * | macAddress | ||
) |
Dispatch virtual mac destination traffic unsubscription request to ethernet firmware.
* Service name : Eth_DispatchVirtmacUnsubscribeDstMac * Syntax : Std_ReturnType Eth_DispatchVirtmacUnsubscribeDstMac(CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x22 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * macAddress: Destination Mac address * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to unsubscribe the specified destination * mac address flow traffic received on host port. * The driver should have subscribed to the destination mac * address previously by invoking * Eth_DispatchVirtmacSubscribeDstMac(). * On unsubscribing to destination mac flow , traffic with * given destination mac address flow will be directed to * default flow. * The function only send the RPC msg to ethernet firmware core. * Completion of RPC msg processing is indicated by invokcation of * rpcCmdComplete part of Eth_ConfigType sturcture. * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_SetControllerMode(ETH_MODE_ACTIVE) * 9. Packet processing using Eth_Receive/Eth_Trasmit * 10. Eth_DispatchVirtmacUnsubscribeDstMac() * 11. Wait for rpcCmdComplete() callback with status E_OK * 12. Eth_SetControllerMode(ETH_MODE_DOWN) * Note that all subscribed MAC address must be unsubscribed * before Eth_SetControllerMode(ETH_MODE_DOWN) is invoked * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacAssociateIPv4Macaddr | ( | uint8 | CtrlIdx, |
uint8 * | ipv4Address, | ||
uint8 * | macAddress | ||
) |
Dispatch virtual mac IPV4 address:destination mac association request to ethernet firmware.
* Service name : Eth_DispatchVirtmacAssociateIPv4Macaddr * Syntax : Std_ReturnType Eth_DispatchVirtmacAssociateIPv4Macaddr(CtrlIdx, ipv4Address, macAddress) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x23 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * ipv4Address: IPv4 address * macAddress: Destination Mac address * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to associate the given unicast macaddress * with the given IP address. * The ethernet firmware maintains the ARP database for * the ethernet driver and ethfw will respond to any ARP request. * To correctly respond to ARP queries for IP address assigned to * the AUTOSAR network stack , the AUTOSAR stack must invoke * this API so that the ARP database maintained by ethernet * firmware is updated.The macAddres must be a unicast address * allocated to the EthDriver (returned by Eth_GetPhysAddr()) * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_SetControllerMode(ETH_MODE_ACTIVE) * 9. Send out DHCP request to acquire IP address for the * AUTOSAR network stack * 10. On getting DHCP response with IP address, invoke * Eth_DispatchVirtmacAssociateIPv4Macaddr * 11. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacDisassociateIPv4Macaddr | ( | uint8 | CtrlIdx, |
uint8 * | ipv4Address | ||
) |
Dispatch virtual mac IPV4 address:destination mac disassociation request to ethernet firmware.
* Service name : Eth_DispatchVirtmacDisassociateIPv4Macaddr * Syntax : Std_ReturnType Eth_DispatchVirtmacDisassociateIPv4Macaddr(CtrlIdx, ipv4Address) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x24 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * ipv4Address: IPv4 address * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to remove the given IP address from the * ARP database maintained by ethernet firmware. * On deletion the ethfw will no longer respond to any ARP * queries for the given IP address. * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_SetControllerMode(ETH_MODE_ACTIVE) * 9. Send out DHCP request to acquire IP address for the * AUTOSAR network stack * 10. On getting DHCP response with IP address, invoke * Eth_DispatchVirtmacAssociateIPv4Macaddr * 11. Wait for rpcCmdComplete() callback with status E_OK * 12. Network Packet processing * 13. Eth_DispatchVirtmacDisassociateIPv4Macaddr * 14. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacAddUnicastAddr | ( | uint8 | CtrlIdx, |
uint8 * | macAddress, | ||
Eth_PortType | port, | ||
uint32 | vlanId | ||
) |
Dispatch virtual mac addition of given unicast address to switch address resolution table request to ethernet firmware.
* Service name : Eth_DispatchVirtmacAddUnicastAddr * Syntax : Std_ReturnType Eth_DispatchVirtmacAddUnicastAddr(CtrlIdx, macAddress, port, vlanId) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x25 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * macAddress: Mac address to be added to the switch address resolution table * port: Port to which macAddress should be routed. * vlanId: Vlan Id associated with the mac Address. If vlan id is not needed, 0 should be passed * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to add the given unicast macaddress * to the switch address resolution table with the given * port and vlan id. * These are static entries and not learned entries. * On addition of entry switch would switch frames * received with the given destination macAddress:vlan id * combo to the given port. * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_DispatchVirtmacAddUnicastAddr() * 9. Wait for rpcCmdComplete() callback with status E_OK * 10. Eth_SetControllerMode(ETH_MODE_ACTIVE) * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacAddMcastAddr | ( | uint8 | CtrlIdx, |
uint8 * | macAddress, | ||
uint32 | numLsbToIgnore, | ||
uint32 | vlanId, | ||
Eth_PortListType * | portList | ||
) |
Dispatch virtual mac addition of given multicast address to switch address resolution table request to ethernet firmware.
* Service name : Eth_DispatchVirtmacAddMcastAddr * Syntax : Std_ReturnType Eth_DispatchVirtmacAddMcastAddr(CtrlIdx, macAddress, numLsbToIgnore, vlanId, portList) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x26 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * macAddress: Mac address to be added to the switch address resolution table * numLsbToIgnore: Number of least significant bits in the multicast address to ignore. * This allows a range of multicast address to be handled by a single entry * vlanId: Vlan Id associated with the mac Address. If vlan id is not needed, 0 should be passed * portList: List of ports in the switch added to membership of the given multicast address * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to add the given multicast macaddress * to the switch address resolution table with the given * portlist as members and vlan id. * On addition of entry switch would switch frames * received with the given destination multicast macAddress: * vlan id combo to all the ports in the port list. * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_DispatchVirtmacAddMcastAddr() * 9. Wait for rpcCmdComplete() callback with status E_OK * 10. Eth_SetControllerMode(ETH_MODE_ACTIVE) * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacDelAddr | ( | uint8 | CtrlIdx, |
uint8 * | macAddress, | ||
uint32 | vlanId | ||
) |
Dispatch virtual mac removal of given mac address from switch address resolution table request to ethernet firmware.
* Service name : Eth_DispatchVirtmacDelAddr * Syntax : Std_ReturnType Eth_DispatchVirtmacDelAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x27 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * macAddress: Mac address to be deleted from the switch address resolution table * vlanId: Vlan Id associated with the mac Address. If vlan id is not needed, 0 should be passed * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to remove the given multicast macaddress * and vlan id from the switch address resolution table * On removal of entry switch would switch frames * received with the given destination macAddress: * vlan id combo by flooding to all the ports in vlan membership. * Address should have been added previously using Eth_DispatchVirtmacAddMcastAddr()/ * Eth_DispatchVirtmacAddUnicastAddr() * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_DispatchVirtmacAddMcastAddr()/Eth_DispatchVirtmacAddUnicastAddr() * 9. Wait for rpcCmdComplete() callback with status E_OK * 10. Eth_DispatchVirtmacDelAddr() * 11. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_DispatchVirtmacAddVlan | ( | uint8 | CtrlIdx, |
uint32 | vlanId, | ||
Eth_PortListType * | portList | ||
) |
Dispatch virtual mac addition of given vlan id to switch address resolution table request to ethernet firmware.
* Service name : Eth_DispatchVirtmacAddVlan * Syntax : Std_ReturnType Eth_DispatchVirtmacAddVlan(CtrlIdx, vlanId, portList) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x28 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * vlanId: Vlan Id for which port membership is to be added to switch VLAN membership table * portList: List of ports in the switch added to membership of the given vlan id * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to add the given vlan id * to the switch address resolution table with the given * portlist as members of the vlan. * On addition of entry switch would switch frames * with the given vlan only within the vlan membership * specified by the port list. This applies to both * unicast and multicast address * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_DispatchVirtmacAddVlan() * 9. Wait for rpcCmdComplete() callback with status E_OK * 10. Eth_SetControllerMode(ETH_MODE_ACTIVE) * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure * Note: The API adds the given portList also as the * unregisterMcastFloodMask and registeredMulticastFloodMask * The VLAN entry in the switch in added as inner vlan entry * Further the following are hardcoded for the VLAN entry * forceUntaggedEgressMask = 0 * noLearnMask = 0 * vidIngressCheck = FALSE * limitIPNxtHdr = FALSE * disallowIPFrag = FALSE * Refer to CPSW documentation for details on these params *
Std_ReturnType Eth_DispatchVirtmacDelVlan | ( | uint8 | CtrlIdx, |
uint32 | vlanId | ||
) |
Dispatch virtual mac removal of given vlanid from switch address resolution table request to ethernet firmware.
* Service name : Eth_DispatchVirtmacDelVlan * Syntax : Std_ReturnType Eth_DispatchVirtmacDelVlan(uint8 CtrlIdx, uint32 vlanId) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x29 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * vlanId: Vlan Id which is to be removed from switch VLAN membership table * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function dispatches RPC command to ethernet * firmware core to remove the given vlan id * from the switch vlan membership table * On removal of vlan membership entry switch would treat any * frame received with the given vlan as per unknownVlanMembership mask configured in * switch.Vlan id should have been added previously using Eth_DispatchVirtmacAddVlan() * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_Init() * 6. Eth_DispatchVirtmacSubscribeDstMac() * 7. Wait for rpcCmdComplete() callback with status E_OK * 8. Eth_DispatchVirtmacAddVlan() * 9. Wait for rpcCmdComplete() callback with status E_OK * 10. Eth_DispatchVirtmacDelVlan() * 11. Wait for rpcCmdComplete() callback with status E_OK * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_SendCustomNotify | ( | uint8 | CtrlIdx, |
void * | notifyInfo, | ||
uint32 | notifyLen | ||
) |
Send a custom notification to the ethernet firmware with given notify info and notify len.
* Service name : Eth_SendCustomNotify * Syntax : Std_ReturnType Eth_SendCustomNotify(uint8 CtrlIdx, void *notifyInfo, uint32 notifyLen) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x28 * Sync/Async : Asynchronous * Reentrancy : Non-Reentrant * Parameters (in) : CtrlIdx: Index of the controller within the context of the * Ethernet Driver * notifyInfo: Notify info to be sent * notifyLen: Notify length * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * * Description : The function send a custom notify msg to the ethernet firmware. * Notify msgs are msgs which do not require response from ethernet firmware. * The notify info format should mstch the format expected by ethernet firmware application. * The driver does not interpret the notify info.This API * is typically used to send some debug info to the ethernet firmware like CPU load, request to dump switch statistics on UART console etc. * If configured in virtual mac mode application should * invoke this API as follows: * 1. Eth_VirtMacRpcInit() * 2. Wait for fwRegisteredCb() callback * 3. Eth_DispatchVirtmacInit * 4. Wait for rpcCmdComplete() callback with status E_OK * 5. Eth_SendCustomNotify() * The callbacks fwRegisteredCb() and rpcCmdComplete() are * populated by the application as part of the Eth_ConfigType * structure *
Std_ReturnType Eth_RetrieveRxReadyQ | ( | uint8 | CtrlIdx, |
Eth_PktQ * | retrievePktQ | ||
) |
This function retrieves a queue of received Ethernet frames.
* Service name : Eth_RetrieveRxReadyQ * Syntax : Std_ReturnType Eth_RetrieveRxReadyQ( * uint8 CtrlIdx, * Eth_PktQ *retrievePktQ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x2C * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of * the Ethernet Driver * Parameters (inout): retrievePktQ. Packet queue to hold the received packets * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * Description : Retrieves received Ethernet frames in a queue. The queue * based approach allows retrieval of multiple frames at * once, which isn't possible with single frame oriented * Eth_Receive() function. *
Std_ReturnType Eth_SubmitRxFreeQ | ( | uint8 | CtrlIdx, |
Eth_PktQ * | submitPktQ | ||
) |
This function submits a queue of free Ethernet frames for future reception.
* Service name : Eth_SubmitRxFreeQ * Syntax : Std_ReturnType Eth_SubmitRxFreeQ( * uint8 CtrlIdx, * Eth_PktQ *submitPktQ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x2D * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of * the Ethernet Driver * Parameters (inout): submitPktQ. Packet queue that holds free packets * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * Description : Submits free Ethernet frames in a queue for future frame * reception. This function should be called after the * application has consumed the frames received via * Eth_RetrieveRxReadyQ() and is ready to recycle them back * to the driver. *
Std_ReturnType Eth_SubmitTxReadyQ | ( | uint8 | CtrlIdx, |
Eth_PktQ * | submitPktQ | ||
) |
This function submits a queue of Ethernet frames for transmission.
* Service name : Eth_SubmitTxReadyQ * Syntax : Std_ReturnType Eth_SubmitTxReadyQ( * uint8 CtrlIdx, * Eth_PktQ *submitPktQ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x2E * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of * the Ethernet Driver * Parameters (inout): submitPktQ. Packet queue that holds packets ready for * transmission * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * Description : Submits a queue of Ethernet frames to be transmitted. * The queue based approach allows submission of multiple * frames at once, which isn't possible with single frame * oriented Eth_Transmit() function. *
Std_ReturnType Eth_RetrieveTxDoneQ | ( | uint8 | CtrlIdx, |
Eth_PktQ * | retrievePktQ | ||
) |
This function retrieves a queue of Ethernet frames that have already being used for transmission.
* Service name : Eth_RetrieveTxDoneQ * Syntax : Std_ReturnType Eth_RetrieveTxDoneQ( * uint8 CtrlIdx, * Eth_PktQ *retrievePktQ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x2F * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of * the Ethernet Driver * Parameters (inout): retrievePktQ. Packet queue to hold packets that have * already been used for transmission * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * Description : Retrieves a queue of Ethernet frames that have been used * for transmission and can be recycled by the application * for future transmission. This function should be called * to recycle packets which were previously submitted for * transmission via Eth_SubmitTxReadyQ(). *