summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c')
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c110
1 files changed, 55 insertions, 55 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c b/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
index 8b4ede4d08..397667f56e 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
+++ b/c/src/lib/libbsp/powerpc/gen5200/network_5200/network.c
@@ -115,7 +115,7 @@ static TaskId txTaskId; /* SDMA TX task ID */
* The number of transmit buffer descriptors has to be quite large
* since a single frame often uses four or more buffer descriptors.
*/
-#define RX_BUF_COUNT SDMA_BD_RX_NUM
+#define RX_BUF_COUNT SDMA_BD_RX_NUM
#define TX_BUF_COUNT SDMA_BD_TX_NUM
#define TX_BD_PER_BUF 1
@@ -272,10 +272,10 @@ static void mpc5200_fec_rx_bd_init(struct mpc5200_enet_struct *sc) {
m->m_pkthdr.rcvif = ifp;
sc->rxMbuf[rxBdIndex] = m;
- bdi = TaskBDAssign( rxTaskId,
+ bdi = TaskBDAssign( rxTaskId,
mtod(m, void *),
- NULL,
- ETHER_MAX_LEN,
+ NULL,
+ ETHER_MAX_LEN,
0 );
if (bdi != rxBdIndex) {
rtems_panic("network rx buffer indices out of sync");
@@ -526,7 +526,7 @@ static int mpc5200_fec_reset(struct mpc5200_enet_struct *sc) {
*/
mpc5200.rfifo_status &= FEC_FIFO_STAT_ERROR;
mpc5200.tfifo_status &= FEC_FIFO_STAT_ERROR;
-
+
/*
* reset the FIFOs
*/
@@ -535,17 +535,17 @@ static int mpc5200_fec_reset(struct mpc5200_enet_struct *sc) {
for (delay = 0;delay < 16*4;delay++) {};
mpc5200.reset_cntrl = 0x01000000;
-
+
/*
* Issue a reset command to the FEC chip
*/
mpc5200.ecntrl |= FEC_ECNTRL_RESET;
-
+
/*
* wait at least 16 clock cycles
*/
for (delay = 0;delay < 16*4;delay++) {};
-
+
return true;
}
@@ -564,7 +564,7 @@ static int mpc5200_fec_reset(struct mpc5200_enet_struct *sc) {
void mpc5200_fec_off(struct mpc5200_enet_struct *sc)
{
int counter = 0xffff;
-
+
#if defined(ETH_DEBUG)
unsigned short phyStatus, i;
@@ -619,7 +619,7 @@ void mpc5200_fec_off(struct mpc5200_enet_struct *sc)
*/
mpc5200.ecntrl &= ~(FEC_ECNTRL_OE | FEC_ECNTRL_EN);
- /*
+ /*
* cleanup all buffers
*/
mpc5200_fec_rx_bd_cleanup(sc);
@@ -655,7 +655,7 @@ void mpc5200_fec_irq_handler(rtems_irq_hdl_param handle)
if (ievent & FEC_INTR_RFIFO_ERR) {
sc->rxOverrun++;
}
- /*
+ /*
* fatal error ocurred?
*/
if (ievent & (FEC_INTR_XFIFO_ERR | FEC_INTR_RFIFO_ERR)) {
@@ -678,7 +678,7 @@ void mpc5200_smartcomm_rx_irq_handler(rtems_irq_hdl_param unused)
bestcomm_glue_irq_disable(FEC_RECV_TASK_NO);/*Disable receive ints*/
enet_driver[0].rxInterrupts++; /* Rx int has occurred */
-
+
rtems_event_send(enet_driver[0].rxDaemonTid, INTERRUPT_EVENT);
}
@@ -728,7 +728,7 @@ static void mpc5200_fec_retire_tbd(struct mpc5200_enet_struct *sc,
* Clear already transmitted BDs first. Will not work calling same
* from fecExceptionHandler(TFINT).
*/
-
+
while ((sc->txBdActiveCount > 0) &&
(force || (bdRing[sc->txBdTail].Status == 0x0))) {
if (sc->txMbuf[sc->txBdTail] != NULL) {
@@ -741,7 +741,7 @@ static void mpc5200_fec_retire_tbd(struct mpc5200_enet_struct *sc,
sc->txBdActiveCount--;
if(++sc->txBdTail >= sc->txBdCount) {
sc->txBdTail = 0;
- }
+ }
}
}
@@ -762,7 +762,7 @@ static void mpc5200_fec_tx_bd_requeue(struct mpc5200_enet_struct *sc)
* Clear already transmitted BDs first. Will not work calling same
* from fecExceptionHandler(TFINT).
*/
-
+
while (sc->txBdActiveCount > 0) {
if (sc->txMbuf[sc->txBdHead] != NULL) {
/*
@@ -774,7 +774,7 @@ static void mpc5200_fec_tx_bd_requeue(struct mpc5200_enet_struct *sc)
sc->txBdActiveCount--;
if(--sc->txBdHead < 0) {
sc->txBdHead = sc->txBdCount-1;
- }
+ }
}
}
#endif
@@ -811,12 +811,12 @@ static void mpc5200_fec_sendpacket(struct ifnet *ifp,struct mbuf *m) {
* Wait for buffer descriptor to become available.
*/
if((sc->txBdActiveCount + nAdded) == sc->txBdCount) {
-
+
/*
* Clear old events
*/
SDMA_CLEAR_IEVENT(&mpc5200.IntPend,FEC_XMIT_TASK_NO);
-
+
/*
* Wait for buffer descriptor to become available.
* Note that the buffer descriptors are checked
@@ -830,11 +830,11 @@ static void mpc5200_fec_sendpacket(struct ifnet *ifp,struct mbuf *m) {
* an interrupt.
*/
mpc5200_fec_retire_tbd(sc,false);
-
+
while((sc->txBdActiveCount + nAdded) == sc->txBdCount) {
bestcomm_glue_irq_enable(FEC_XMIT_TASK_NO);
- rtems_bsdnet_event_receive(INTERRUPT_EVENT,
- RTEMS_WAIT | RTEMS_EVENT_ANY,
+ rtems_bsdnet_event_receive(INTERRUPT_EVENT,
+ RTEMS_WAIT | RTEMS_EVENT_ANY,
RTEMS_NO_TIMEOUT, &events);
mpc5200_fec_retire_tbd(sc,false);
}
@@ -846,7 +846,7 @@ static void mpc5200_fec_sendpacket(struct ifnet *ifp,struct mbuf *m) {
*/
struct mbuf *n;
MFREE(m, n);
- m = n;
+ m = n;
if(l != NULL) {
l->m_next = m;
}
@@ -866,7 +866,7 @@ static void mpc5200_fec_sendpacket(struct ifnet *ifp,struct mbuf *m) {
* FIXME: do not send interrupt after every frame
* doing this every quarter of BDs is much more efficent
*/
- status = ((m->m_next == NULL)
+ status = ((m->m_next == NULL)
? TASK_BD_TFD | TASK_BD_INT
: 0);
/*
@@ -878,7 +878,7 @@ static void mpc5200_fec_sendpacket(struct ifnet *ifp,struct mbuf *m) {
}
else {
firstBd = thisBd;
- }
+ }
data_ptr = mtod(m, void *);
data_len = (uint32)m->m_len;
@@ -904,7 +904,7 @@ static void mpc5200_fec_sendpacket(struct ifnet *ifp,struct mbuf *m) {
if(nAdded) {
firstBd->Status |= SDMA_BD_MASK_READY;
SDMA_TASK_ENABLE(SDMA_TCR, txTaskId);
- sc->txBdActiveCount += nAdded;
+ sc->txBdActiveCount += nAdded;
}
break;
}
@@ -927,9 +927,9 @@ void mpc5200_fec_txDaemon(void *arg)
* Wait for packet
*/
bestcomm_glue_irq_enable(FEC_XMIT_TASK_NO);
- rtems_bsdnet_event_receive(START_TRANSMIT_EVENT|INTERRUPT_EVENT,
- RTEMS_EVENT_ANY | RTEMS_WAIT,
- RTEMS_NO_TIMEOUT,
+ rtems_bsdnet_event_receive(START_TRANSMIT_EVENT|INTERRUPT_EVENT,
+ RTEMS_EVENT_ANY | RTEMS_WAIT,
+ RTEMS_NO_TIMEOUT,
&events);
/*
@@ -978,7 +978,7 @@ static void mpc5200_fec_rxDaemon(void *arg){
* Input packet handling loop
*/
rxBdIndex = 0;
-
+
for (;;) {
/*
* Clear old events
@@ -990,30 +990,30 @@ static void mpc5200_fec_rxDaemon(void *arg){
bd = bdRing + rxBdIndex;
status = bd->Status;
len = (uint16)GET_BD_LENGTH( bd );
-
+
/*
* Loop through BDs until we find an empty one. This indicates that
* the SmartDMA is still using it.
*/
while( !(status & SDMA_BD_MASK_READY) ) {
-
+
/*
* Remember the data pointer from this transfer.
*/
dptr = (void *)bd->DataPtr[0];
m = sc->rxMbuf[rxBdIndex];
- m->m_len = m->m_pkthdr.len = (len
- - sizeof(uint32_t)
+ m->m_len = m->m_pkthdr.len = (len
+ - sizeof(uint32_t)
- sizeof(struct ether_header));
eh = mtod(m, struct ether_header *);
m->m_data += sizeof(struct ether_header);
ether_input(ifp, eh, m);
-
+
/*
* Done w/ the BD. Clean it.
*/
sc->rxMbuf[rxBdIndex] = NULL;
-
+
/*
* Add a new buffer to the ring.
*/
@@ -1026,7 +1026,7 @@ static void mpc5200_fec_rxDaemon(void *arg){
bd->DataPtr[0] = (uint32)mtod(m, void *);
bd->Status = ( ( (uint32)SDMA_DRD_MASK_LENGTH & (uint32)size)
| ((uint32)SDMA_BD_MASK_READY));
-
+
/*
* advance to next BD
*/
@@ -1038,15 +1038,15 @@ static void mpc5200_fec_rxDaemon(void *arg){
*/
bd = bdRing + rxBdIndex;
status = bd->Status;
- len = (uint16)GET_BD_LENGTH( bd );
+ len = (uint16)GET_BD_LENGTH( bd );
}
/*
* Unmask RXF (Full frame received) event
*/
bestcomm_glue_irq_enable(FEC_RECV_TASK_NO);
-
- rtems_bsdnet_event_receive (INTERRUPT_EVENT | FATAL_INT_EVENT,
- RTEMS_WAIT | RTEMS_EVENT_ANY,
+
+ rtems_bsdnet_event_receive (INTERRUPT_EVENT | FATAL_INT_EVENT,
+ RTEMS_WAIT | RTEMS_EVENT_ANY,
RTEMS_NO_TIMEOUT, &events);
if (events & FATAL_INT_EVENT) {
/*
@@ -1091,10 +1091,10 @@ static void mpc5200_fec_initialize_hardware(struct mpc5200_enet_struct *sc)
* Set FEC-Lite receive control register (R_CNTRL)
* frame length=1518, MII mode for 18-wire-transceiver
*/
- mpc5200.r_cntrl = ((ETHER_MAX_LEN << FEC_RCNTRL_MAX_FL_SHIFT)
- | FEC_RCNTRL_FCE
+ mpc5200.r_cntrl = ((ETHER_MAX_LEN << FEC_RCNTRL_MAX_FL_SHIFT)
+ | FEC_RCNTRL_FCE
| FEC_RCNTRL_MII_MODE);
-
+
/*
* Set FEC-Lite transmit control register (X_CNTRL)
* full-duplex, heartbeat disabled
@@ -1301,7 +1301,7 @@ static void mpc5200_sdma_task_setup(struct mpc5200_enet_struct *sc) {
rxParam.SzSrc = sizeof(uint32_t);
rxParam.StartAddrDst = (uint32)NULL;
rxParam.IncrDst = sizeof(uint32_t);
- rxParam.SzDst = sizeof(uint32_t);
+ rxParam.SzDst = sizeof(uint32_t);
rxTaskId = TaskSetup(TASK_FEC_RX,&rxParam );
/*
@@ -1316,7 +1316,7 @@ static void mpc5200_sdma_task_setup(struct mpc5200_enet_struct *sc) {
txParam.StartAddrDst = (uint32)&(mpc5200.tfifo_data);
txParam.IncrDst = 0;
txParam.SzDst = sizeof(uint32_t);
-
+
txTaskId = TaskSetup( TASK_FEC_TX, &txParam );
}
@@ -1361,18 +1361,18 @@ static void mpc5200_fec_init(void *arg)
/*
* Allocate a set of mbuf pointers
*/
- sc->rxMbuf =
+ sc->rxMbuf =
malloc(sc->rxBdCount * sizeof *sc->rxMbuf, M_MBUF, M_NOWAIT);
- sc->txMbuf =
+ sc->txMbuf =
malloc(sc->txBdCount * sizeof *sc->txMbuf, M_MBUF, M_NOWAIT);
-
+
if(!sc->rxMbuf || !sc->txMbuf)
rtems_panic ("No memory for mbuf pointers");
bestcomm_glue_init();
mpc5200_sdma_task_setup(sc);
-
+
/*
* Set up interrupts
*/
@@ -1413,7 +1413,7 @@ static void mpc5200_fec_init(void *arg)
* Clear SmartDMA task interrupt pending bits.
*/
TaskIntClear( rxTaskId );
-
+
/*
* Enable the SmartDMA receive task.
*/
@@ -1452,7 +1452,7 @@ static void enet_stats (struct mpc5200_enet_struct *sc)
printf (" Bad CRC:%-8lu", sc->rxBadCRC);
printf (" Overrun:%-8lu", sc->rxOverrun);
printf (" Collision:%-8lu\n", sc->rxCollision);
-
+
printf (" Tx Interrupts:%-8lu", sc->txInterrupts);
printf (" Deferred:%-8lu", sc->txDeferred);
printf (" Late Collision:%-8lu\n", sc->txLateCollision);
@@ -1464,12 +1464,12 @@ static void enet_stats (struct mpc5200_enet_struct *sc)
/*
* restart the driver, reinit the fec
- * this function is responsible to reinitialize the FEC in case a fatal
+ * this function is responsible to reinitialize the FEC in case a fatal
* error has ocurred. This is needed, wen a RxFIFO Overrun or a TxFIFO underrun
* has ocurred. In these cases, the FEC is automatically disabled, and
* both FIFOs must be reset and the BestComm tasks must be restarted
*
- * Note: the daemon tasks will continue to run
+ * Note: the daemon tasks will continue to run
* (in fact this function will be called in the context of the rx daemon task)
*/
#define NEW_SDMA_SETUP
@@ -1530,7 +1530,7 @@ static void mpc5200_fec_restart(struct mpc5200_enet_struct *sc)
* Clear SmartDMA task interrupt pending bits.
*/
TaskIntClear( rxTaskId );
-
+
/*
* Enable the SmartDMA receive/transmit task.
*/
@@ -1587,7 +1587,7 @@ static int mpc5200_fec_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_
error = (command == SIOCADDMULTI)
? ether_addmulti(ifr, &sc->arpcom)
: ether_delmulti(ifr, &sc->arpcom);
-
+
if (error == ENETRESET) {
if (ifp->if_flags & IFF_RUNNING)
error = mpc5200_fec_setMultiFilter(ifp);