mirror of
https://github.com/ep00ch/lwip-contrib-mac.git
synced 2024-07-07 20:29:04 +00:00
removed commented-out code for interrupts; this was old code that will no longer work with the current structure
This commit is contained in:
parent
d6f3af8fb6
commit
53c1f7d8b2
@ -2,7 +2,7 @@
|
||||
* Copyright (c) 2001-2003 Swedish Institute of Computer Science.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Copyright (c) 2001, 2002 Xilinx, Inc.
|
||||
* Copyright (c) 2001, 2002, 2003 Xilinx, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -54,7 +54,6 @@
|
||||
#include "xemac.h"
|
||||
#include "xparameters.h"
|
||||
#include "xstatus.h"
|
||||
//#include "xintc.h"
|
||||
#include "xexception_l.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
@ -91,11 +90,6 @@ extern XEmacIf_Config XEmacIf_ConfigTable[];
|
||||
static err_t xemacif_output(struct netif *netif, struct pbuf *p,
|
||||
struct ip_addr *ipaddr);
|
||||
|
||||
#ifdef LWIP_XEMAC_USE_INTMODE
|
||||
static void FifoSendHandler(void *CallBackRef);
|
||||
static void ErrorHandler(void *CallBackRef, XStatus Code);
|
||||
#endif /* LWIP_XEMAC_USE_INTMODE */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* low_level_init function */
|
||||
/* - hooks up the data structures and sets the mac options and mac */
|
||||
@ -115,13 +109,6 @@ low_level_init(struct netif *netif_ptr)
|
||||
Result = XEmac_Initialize(InstancePtr, DeviceId);
|
||||
if (Result != XST_SUCCESS) return ERR_MEM;
|
||||
|
||||
/* Do self-test */
|
||||
/* Result = XEmac_SelfTest(InstancePtr);
|
||||
if (Result != XST_SUCCESS) {
|
||||
return ERR_MEM;
|
||||
}
|
||||
*/
|
||||
|
||||
/* Stop the EMAC hardware */
|
||||
XEmac_Stop(InstancePtr);
|
||||
|
||||
@ -151,54 +138,6 @@ low_level_init(struct netif *netif_ptr)
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
#ifdef LWIP_XEMAC_USE_INTMODE
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* FifoSendHandler() */
|
||||
/* */
|
||||
/* Checks for Tx Errors */
|
||||
/* TODO: Add actions. Nothing happens if an error is found. */
|
||||
/* */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void FifoSendHandler(void *CallBackRef)
|
||||
{
|
||||
struct netif *netif_ptr = (struct netif *) CallBackRef;
|
||||
XEmac *EmacPtr = ((XEmacIf_Config*) netif_ptr->state)->instance_ptr;
|
||||
XEmacStats Stats;
|
||||
|
||||
/*
|
||||
* Check stats for transmission errors (overrun or underrun errors are
|
||||
* caught by the asynchronous error handler).
|
||||
*/
|
||||
XEmac_GetStats(EmacPtr, &Stats);
|
||||
if (Stats.XmitLateCollisionErrors || Stats.XmitExcessDeferral)
|
||||
;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* ErrorHandler() */
|
||||
/* */
|
||||
/* Resets the MAC hardware is an error occurs */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void ErrorHandler(void *CallBackRef, XStatus Code)
|
||||
{
|
||||
struct netif *netif_ptr = (struct netif *) CallBackRef;
|
||||
XEmac *EmacPtr = ((XEmacIf_Config*) netif_ptr->state)->instance_ptr;
|
||||
|
||||
if (Code == XST_RESET_ERROR) {
|
||||
/*
|
||||
* A reset error means the application should reset the device because
|
||||
* it encountered a reset condition (most likely a FIFO overrun, but
|
||||
* can be other reasons). You can look at the XEmac statistics to
|
||||
* see what the error is.
|
||||
*/
|
||||
XEmac_Reset(EmacPtr);
|
||||
(void)XEmac_SetMacAddress(EmacPtr, (Xuint8*) netif_ptr->hwaddr);
|
||||
(void)XEmac_SetOptions(EmacPtr,XEM_UNICAST_OPTION|XEM_BROADCAST_OPTION);
|
||||
(void)XEmac_Start(EmacPtr);
|
||||
}
|
||||
}
|
||||
#endif /* LWIP_XEMAC_USE_INTMODE */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* low_level_output() */
|
||||
/* */
|
||||
@ -230,20 +169,10 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef LWIP_XEMAC_USE_INTMODE
|
||||
|
||||
Result = XEmac_FifoSend(xemacif_ptr->instance_ptr,
|
||||
(Xuint8 *) frame_buffer,
|
||||
payload_size);
|
||||
|
||||
#else /* LWIP_XEMAC_USE_INTMODE */
|
||||
|
||||
Result = XEmac_PollSend(xemacif_ptr->instance_ptr,
|
||||
(Xuint8 *) frame_buffer,
|
||||
payload_size);
|
||||
|
||||
#endif /* LWIP_XEMAC_USE_INTMODE */
|
||||
|
||||
if (Result != XST_SUCCESS)
|
||||
{
|
||||
xil_printf("XEmac_PollSend: failed\r\n");
|
||||
@ -299,11 +228,7 @@ static struct pbuf * low_level_input(XEmacIf_Config *xemacif_ptr)
|
||||
u8_t * frame_bytes = (u8_t *) RecvBuffer;
|
||||
XStatus Result;
|
||||
|
||||
#ifdef LWIP_XEMAC_USE_INTMODE
|
||||
Result = XEmac_FifoRecv(EmacPtr, (Xuint8 *)RecvBuffer, &FrameLen);
|
||||
#else
|
||||
Result = XEmac_PollRecv(EmacPtr, (Xuint8 *)RecvBuffer, &FrameLen);
|
||||
#endif /* LWIP_XEMAC_USE_INTMODE */
|
||||
|
||||
if (Result != XST_SUCCESS)
|
||||
{
|
||||
@ -401,11 +326,6 @@ err_t xemacif_input(void *CallBackRef)
|
||||
struct eth_hdr * ethernet_header;
|
||||
struct pbuf *p, *q;
|
||||
|
||||
#ifdef LWIP_XEMAC_USE_INTMODE
|
||||
/* Disable Interrupts */
|
||||
XIntc_Disable(XIntc_GetInstance(0), XPAR_INTC_0_DEVICE_ID);
|
||||
#endif /* LWIP_XEMAC_USE_INTMODE */
|
||||
|
||||
xemacif_ptr = netif_ptr->state;
|
||||
|
||||
p = low_level_input(xemacif_ptr);
|
||||
@ -434,10 +354,6 @@ err_t xemacif_input(void *CallBackRef)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef LWIP_XEMAC_USE_INTMODE
|
||||
/* Enable Interrupts again */
|
||||
XIntc_Enable(XIntc_GetInstance(0), XPAR_INTC_0_DEVICE_ID);
|
||||
#endif /* LWIP_XEMAC_USE_INTMODE */
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
@ -479,9 +395,6 @@ err_t xemacif_init(struct netif *netif_ptr)
|
||||
{
|
||||
XEmacIf_Config *xemacif_ptr;
|
||||
|
||||
//struct xemacif *xemacif_ptr;
|
||||
//xemacif_ptr = mem_malloc(sizeof(struct xemacif));
|
||||
|
||||
xemacif_ptr = (XEmacIf_Config *) netif_ptr->state;
|
||||
|
||||
netif_ptr->mtu = 1500;
|
||||
|
Loading…
Reference in New Issue
Block a user