mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 23:23:13 +00:00
Add some more diagnostics. Poke TDAR/RDAR only when necessary.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2005-04-13 Eric Norum <norume@aps.anl.gov>
|
||||||
|
|
||||||
|
* network/network.c: Add some more diagnostics.
|
||||||
|
Poke TDAR/RDAR only when necessary.
|
||||||
|
|
||||||
2005-04-10 Eric Norum <norume@aps.anl.gov>
|
2005-04-10 Eric Norum <norume@aps.anl.gov>
|
||||||
|
|
||||||
* startup/bspstart.c: Set up IRQ1* handling properly.
|
* startup/bspstart.c: Set up IRQ1* handling properly.
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* RTEMS/TCPIP driver for MCF5282 Fast Ethernet Controller
|
* RTEMS/TCPIP driver for MCF5282 Fast Ethernet Controller
|
||||||
*
|
*
|
||||||
* TO DO: Check network stack code -- force longword alignment of all tx mbufs?
|
* TO DO: Check network stack code -- Is it possible force longword alignment
|
||||||
|
* of all tx mbufs? If so, the stupid
|
||||||
|
* realignment code in the output routine
|
||||||
|
* could be removed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
@@ -358,8 +361,7 @@ fec_rxDaemon (void *arg)
|
|||||||
/*
|
/*
|
||||||
* Input packet handling loop
|
* Input packet handling loop
|
||||||
*/
|
*/
|
||||||
/* Indicate we have some ready buffers available */
|
MCF5282_FEC_RDAR = 0;
|
||||||
MCF5282_FEC_RDAR = MCF5282_FEC_RDAR_R_DES_ACTIVE;
|
|
||||||
|
|
||||||
rxBdIndex = 0;
|
rxBdIndex = 0;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@@ -434,7 +436,8 @@ fec_rxDaemon (void *arg)
|
|||||||
* Reenable the buffer descriptor
|
* Reenable the buffer descriptor
|
||||||
*/
|
*/
|
||||||
rxBd->status = (status & MCF5282_FEC_RxBD_W) | MCF5282_FEC_RxBD_E;
|
rxBd->status = (status & MCF5282_FEC_RxBD_W) | MCF5282_FEC_RxBD_E;
|
||||||
MCF5282_FEC_RDAR = MCF5282_FEC_RDAR_R_DES_ACTIVE;
|
if ((MCF5282_FEC_RDAR & MCF5282_FEC_RDAR_R_DES_ACTIVE) == 0)
|
||||||
|
MCF5282_FEC_RDAR = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move to next buffer descriptor
|
* Move to next buffer descriptor
|
||||||
@@ -556,7 +559,8 @@ fec_sendpacket(struct ifnet *ifp, struct mbuf *m)
|
|||||||
| MCF5282_FEC_TxBD_TC;
|
| MCF5282_FEC_TxBD_TC;
|
||||||
if (nAdded > 1)
|
if (nAdded > 1)
|
||||||
firstTxBd->status |= MCF5282_FEC_TxBD_R;
|
firstTxBd->status |= MCF5282_FEC_TxBD_R;
|
||||||
MCF5282_FEC_TDAR = MCF5282_FEC_TDAR_X_DES_ACTIVE;
|
if ((MCF5282_FEC_TDAR & MCF5282_FEC_TDAR_X_DES_ACTIVE) == 0)
|
||||||
|
MCF5282_FEC_TDAR = 0;
|
||||||
sc->txBdActiveCount += nAdded;
|
sc->txBdActiveCount += nAdded;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -727,6 +731,15 @@ enet_stats(struct mcf5282_enet_struct *sc)
|
|||||||
printf(" Tx SQE Error:%-10lu", MCF5282_FEC_IEEE_T_SQE);
|
printf(" Tx SQE Error:%-10lu", MCF5282_FEC_IEEE_T_SQE);
|
||||||
printf("Tx Pause Frames:%-10lu\n", MCF5282_FEC_IEEE_T_FDXFC);
|
printf("Tx Pause Frames:%-10lu\n", MCF5282_FEC_IEEE_T_FDXFC);
|
||||||
printf(" Tx Octets OK:%-10lu\n", MCF5282_FEC_IEEE_T_OCTETS_OK);
|
printf(" Tx Octets OK:%-10lu\n", MCF5282_FEC_IEEE_T_OCTETS_OK);
|
||||||
|
printf(" EIR:%8.8lx ", MCF5282_FEC_EIR);
|
||||||
|
printf("EIMR:%8.8lx ", MCF5282_FEC_EIMR);
|
||||||
|
printf("RDAR:%8.8lx ", MCF5282_FEC_RDAR);
|
||||||
|
printf("TDAR:%8.8lx\n", MCF5282_FEC_TDAR);
|
||||||
|
printf(" ECR:%8.8lx ", MCF5282_FEC_ECR);
|
||||||
|
printf(" RCR:%8.8lx ", MCF5282_FEC_RCR);
|
||||||
|
printf(" TCR:%8.8lx\n", MCF5282_FEC_TCR);
|
||||||
|
printf("FRBR:%8.8lx ", MCF5282_FEC_FRBR);
|
||||||
|
printf("FRSR:%8.8lx\n", MCF5282_FEC_FRSR);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|||||||
Reference in New Issue
Block a user