diff options
| -rw-r--r-- | drivers/net/greth.c | 66 | 
1 files changed, 25 insertions, 41 deletions
| diff --git a/drivers/net/greth.c b/drivers/net/greth.c index 4f1973cf5..788aac81c 100644 --- a/drivers/net/greth.c +++ b/drivers/net/greth.c @@ -24,6 +24,8 @@   * MA 02111-1307 USA   */ +/* #define DEBUG */ +  #include <common.h>  #include <command.h>  #include <net.h> @@ -33,8 +35,6 @@  #include <ambapp.h>  #include <asm/leon.h> -/* #define DEBUG */ -  #include "greth.h"  /* Default to 3s timeout on autonegotiation */ @@ -142,9 +142,8 @@ int greth_init(struct eth_device *dev, bd_t * bis)  	greth_priv *greth = dev->priv;  	greth_regs *regs = greth->regs; -#ifdef DEBUG -	printf("greth_init\n"); -#endif + +	debug("greth_init\n");  	if (!greth->rxbd_base) { @@ -199,9 +198,7 @@ int greth_init(struct eth_device *dev, bd_t * bis)  	/* Enable Transmitter, GRETH will now scan descriptors for packets  	 * to transmitt */ -#ifdef DEBUG -	printf("greth_init: enabling receiver\n"); -#endif +	debug("greth_init: enabling receiver\n");  	GRETH_REGORIN(®s->control, GRETH_RXEN);  	return 0; @@ -306,10 +303,8 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)  	}        auto_neg_done: -#ifdef DEBUG -	printf("%s GRETH Ethermac at [0x%x] irq %d. Running \ +	debug("%s GRETH Ethermac at [0x%x] irq %d. Running \  		%d Mbps %s duplex\n", dev->gbit_mac ? "10/100/1000" : "10/100", (unsigned int)(regs), (unsigned int)(dev->irq), dev->gb ? 1000 : (dev->sp ? 100 : 10), dev->fd ? "full" : "half"); -#endif  	/* Read out PHY info if extended registers are available */  	if (tmp & 1) {  		tmp1 = read_mii(2, regs); @@ -318,10 +313,8 @@ int greth_init_phy(greth_priv * dev, bd_t * bis)  		tmp = tmp2 & 0xF;  		tmp2 = (tmp2 >> 4) & 0x3F; -#ifdef DEBUG -		printf("PHY: Vendor %x   Device %x    Revision %d\n", tmp1, +		debug("PHY: Vendor %x   Device %x    Revision %d\n", tmp1,  		       tmp2, tmp); -#endif  	} else {  		printf("PHY info not available\n");  	} @@ -338,9 +331,9 @@ void greth_halt(struct eth_device *dev)  	greth_priv *greth;  	greth_regs *regs;  	int i; -#ifdef DEBUG -	printf("greth_halt\n"); -#endif + +	debug("greth_halt\n"); +  	if (!dev || !dev->priv)  		return; @@ -376,9 +369,9 @@ int greth_send(struct eth_device *dev, volatile void *eth_data, int data_length)  	greth_bd *txbd;  	void *txbuf;  	unsigned int status; -#ifdef DEBUG -	printf("greth_send\n"); -#endif + +	debug("greth_send\n"); +  	/* send data, wait for data to be sent, then return */  	if (((unsigned int)eth_data & (GRETH_BUF_ALIGN - 1))  	    && !greth->gbit_mac) { @@ -387,9 +380,6 @@ int greth_send(struct eth_device *dev, volatile void *eth_data, int data_length)  		 */  		if (!greth->txbuf) {  			greth->txbuf = malloc(GRETH_RXBUF_SIZE); -#ifdef DEBUG -			printf("GRETH: allocated aligned tx-buf\n"); -#endif  		}  		txbuf = greth->txbuf; @@ -455,9 +445,7 @@ int greth_recv(struct eth_device *dev)  	unsigned char *d;  	int enable = 0;  	int i; -#ifdef DEBUG -/*	printf("greth_recv\n"); */ -#endif +  	/* Receive One packet only, but clear as many error packets as there are  	 * available.  	 */ @@ -474,10 +462,9 @@ int greth_recv(struct eth_device *dev)  		if (status & GRETH_BD_EN) {  			goto done;  		} -#ifdef DEBUG -		printf("greth_recv: packet 0x%lx, 0x%lx, len: %d\n", + +		debug("greth_recv: packet 0x%lx, 0x%lx, len: %d\n",  		       (unsigned int)rxbd, status, status & GRETH_BD_LEN); -#endif  		/* Check status for errors.  		 */ @@ -512,12 +499,12 @@ int greth_recv(struct eth_device *dev)  			/* Process the incoming packet. */  			len = status & GRETH_BD_LEN;  			d = (char *)rxbd->addr; -#ifdef DEBUG -			printf + +			debug  			    ("greth_recv: new packet, length: %d. data: %x %x %x %x %x %x %x %x\n",  			     len, d[0], d[1], d[2], d[3], d[4], d[5], d[6],  			     d[7]); -#endif +  			/* flush all data cache to make sure we're not reading old packet data */  			sparc_dcache_flush_all(); @@ -565,10 +552,9 @@ void greth_set_hwaddr(greth_priv * greth, unsigned char *mac)  	greth->regs->esa_msb = (mac[0] << 8) | mac[1];  	greth->regs->esa_lsb =  	    (mac[2] << 24) | (mac[3] << 16) | (mac[4] << 8) | mac[5]; -#ifdef DEBUG -	printf("GRETH: New MAC address: %02x:%02x:%02x:%02x:%02x:%02x\n", + +	debug("GRETH: New MAC address: %02x:%02x:%02x:%02x:%02x:%02x\n",  	       mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); -#endif  }  int greth_initialize(bd_t * bis) @@ -579,9 +565,9 @@ int greth_initialize(bd_t * bis)  	int i;  	char *addr_str, *end;  	unsigned char addr[6]; -#ifdef DEBUG -	printf("Scanning for GRETH\n"); -#endif + +	debug("Scanning for GRETH\n"); +  	/* Find Device & IRQ via AMBA Plug&Play information */  	if (ambapp_apb_first(VENDOR_GAISLER, GAISLER_ETHMAC, &apbdev) != 1) {  		return -1;	/* GRETH not found */ @@ -594,9 +580,7 @@ int greth_initialize(bd_t * bis)  	greth->regs = (greth_regs *) apbdev.address;  	greth->irq = apbdev.irq; -#ifdef DEBUG -	printf("Found GRETH at 0x%lx, irq %d\n", greth->regs, greth->irq); -#endif +	debug("Found GRETH at 0x%lx, irq %d\n", greth->regs, greth->irq);  	dev->priv = (void *)greth;  	dev->iobase = (unsigned int)greth->regs;  	dev->init = greth_init; |