forked from Imagelibrary/rtems
Poke RDAR/TDAR every time. Add more diagnostic printout.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2005-05-10 Eric Norum <norume@aps.anl.gov>
|
||||||
|
|
||||||
|
* network/network.c: Poke RDAR/TDAR every time.
|
||||||
|
Add more diagnostic printout.
|
||||||
|
|
||||||
2005-05-03 Joel Sherrill <joel@OARcorp.com>
|
2005-05-03 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* startup/init5282.c: Remove use of _Coldfire_VBR and use _VBR as rest
|
* startup/init5282.c: Remove use of _Coldfire_VBR and use _VBR as rest
|
||||||
|
|||||||
@@ -73,9 +73,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct mcf5282BufferDescriptor_ {
|
typedef struct mcf5282BufferDescriptor_ {
|
||||||
volatile uint16_t status;
|
volatile uint16_t status;
|
||||||
uint16_t length;
|
uint16_t length;
|
||||||
volatile void *buffer;
|
volatile void *buffer;
|
||||||
} mcf5282BufferDescriptor_t;
|
} mcf5282BufferDescriptor_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -438,8 +438,7 @@ 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;
|
||||||
if ((MCF5282_FEC_RDAR & MCF5282_FEC_RDAR_R_DES_ACTIVE) == 0)
|
MCF5282_FEC_RDAR = 0;
|
||||||
MCF5282_FEC_RDAR = 0;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move to next buffer descriptor
|
* Move to next buffer descriptor
|
||||||
@@ -561,8 +560,7 @@ 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;
|
||||||
if ((MCF5282_FEC_TDAR & MCF5282_FEC_TDAR_X_DES_ACTIVE) == 0)
|
MCF5282_FEC_TDAR = 0;
|
||||||
MCF5282_FEC_TDAR = 0;
|
|
||||||
sc->txBdActiveCount += nAdded;
|
sc->txBdActiveCount += nAdded;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -742,6 +740,28 @@ enet_stats(struct mcf5282_enet_struct *sc)
|
|||||||
printf(" TCR:%8.8lx\n", MCF5282_FEC_TCR);
|
printf(" TCR:%8.8lx\n", MCF5282_FEC_TCR);
|
||||||
printf("FRBR:%8.8lx ", MCF5282_FEC_FRBR);
|
printf("FRBR:%8.8lx ", MCF5282_FEC_FRBR);
|
||||||
printf("FRSR:%8.8lx\n", MCF5282_FEC_FRSR);
|
printf("FRSR:%8.8lx\n", MCF5282_FEC_FRSR);
|
||||||
|
if (sc->txBdActiveCount != 0) {
|
||||||
|
int i, n;
|
||||||
|
/*
|
||||||
|
* Yes, there are races here with adding and retiring descriptors,
|
||||||
|
* but this diagnostic is more for when things have backed up.
|
||||||
|
*/
|
||||||
|
printf("Transmit Buffer Descriptors (Tail %d, Head %d, Active %d):\n",
|
||||||
|
sc->txBdTail,
|
||||||
|
sc->txBdHead,
|
||||||
|
sc->txBdActiveCount);
|
||||||
|
i = sc->txBdTail;
|
||||||
|
for (n = 0 ; n < sc->txBdCount ; n++) {
|
||||||
|
if ((sc->txBdBase[i].status & MCF5282_FEC_TxBD_R) != 0)
|
||||||
|
printf(" %3d: status:%4.4x length:%-4d buffer:%p\n",
|
||||||
|
i,
|
||||||
|
sc->txBdBase[i].status,
|
||||||
|
sc->txBdBase[i].length,
|
||||||
|
sc->txBdBase[i].buffer);
|
||||||
|
if (++i == sc->txBdCount)
|
||||||
|
i = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|||||||
Reference in New Issue
Block a user