net: eepro100: Fix spacing

This is automated cleanup via checkpatch, no functional change.
./scripts/checkpatch.pl --show-types -f drivers/net/eepro100.c
./scripts/checkpatch.pl --types SPACING -f --fix --fix-inplace drivers/net/eepro100.c

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
This commit is contained in:
Marek Vasut 2020-05-23 13:17:03 +02:00
parent e5352c6bbe
commit db9f1818bf

View File

@ -68,13 +68,13 @@
#define CU_STATUS_MASK 0x00C0 #define CU_STATUS_MASK 0x00C0
#define RU_STATUS_MASK 0x003C #define RU_STATUS_MASK 0x003C
#define RU_STATUS_IDLE (0<<2) #define RU_STATUS_IDLE (0 << 2)
#define RU_STATUS_SUS (1<<2) #define RU_STATUS_SUS (1 << 2)
#define RU_STATUS_NORES (2<<2) #define RU_STATUS_NORES (2 << 2)
#define RU_STATUS_READY (4<<2) #define RU_STATUS_READY (4 << 2)
#define RU_STATUS_NO_RBDS_SUS ((1<<2)|(8<<2)) #define RU_STATUS_NO_RBDS_SUS ((1 << 2) | (8 << 2))
#define RU_STATUS_NO_RBDS_NORES ((2<<2)|(8<<2)) #define RU_STATUS_NO_RBDS_NORES ((2 << 2) | (8 << 2))
#define RU_STATUS_NO_RBDS_READY ((4<<2)|(8<<2)) #define RU_STATUS_NO_RBDS_READY ((4 << 2) | (8 << 2))
/* 82559 Port interface commands. */ /* 82559 Port interface commands. */
#define I82559_RESET 0x00000000 /* Software reset */ #define I82559_RESET 0x00000000 /* Software reset */
@ -200,15 +200,15 @@ static const char i82558_config_cmd[] = {
0x31, 0x05, 0x31, 0x05,
}; };
static void init_rx_ring (struct eth_device *dev); static void init_rx_ring(struct eth_device *dev);
static void purge_tx_ring (struct eth_device *dev); static void purge_tx_ring(struct eth_device *dev);
static void read_hw_addr (struct eth_device *dev, bd_t * bis); static void read_hw_addr(struct eth_device *dev, bd_t * bis);
static int eepro100_init (struct eth_device *dev, bd_t * bis); static int eepro100_init(struct eth_device *dev, bd_t * bis);
static int eepro100_send(struct eth_device *dev, void *packet, int length); static int eepro100_send(struct eth_device *dev, void *packet, int length);
static int eepro100_recv (struct eth_device *dev); static int eepro100_recv(struct eth_device *dev);
static void eepro100_halt (struct eth_device *dev); static void eepro100_halt(struct eth_device *dev);
#if defined(CONFIG_E500) #if defined(CONFIG_E500)
#define bus_to_phys(a) (a) #define bus_to_phys(a) (a)
@ -218,28 +218,28 @@ static void eepro100_halt (struct eth_device *dev);
#define phys_to_bus(a) pci_phys_to_mem((pci_dev_t)dev->priv, a) #define phys_to_bus(a) pci_phys_to_mem((pci_dev_t)dev->priv, a)
#endif #endif
static inline int INW (struct eth_device *dev, u_long addr) static inline int INW(struct eth_device *dev, u_long addr)
{ {
return le16_to_cpu(*(volatile u16 *)(addr + (u_long)dev->iobase)); return le16_to_cpu(*(volatile u16 *)(addr + (u_long)dev->iobase));
} }
static inline void OUTW (struct eth_device *dev, int command, u_long addr) static inline void OUTW(struct eth_device *dev, int command, u_long addr)
{ {
*(volatile u16 *)((addr + (u_long)dev->iobase)) = cpu_to_le16(command); *(volatile u16 *)((addr + (u_long)dev->iobase)) = cpu_to_le16(command);
} }
static inline void OUTL (struct eth_device *dev, int command, u_long addr) static inline void OUTL(struct eth_device *dev, int command, u_long addr)
{ {
*(volatile u32 *)((addr + (u_long)dev->iobase)) = cpu_to_le32(command); *(volatile u32 *)((addr + (u_long)dev->iobase)) = cpu_to_le32(command);
} }
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
static inline int INL (struct eth_device *dev, u_long addr) static inline int INL(struct eth_device *dev, u_long addr)
{ {
return le32_to_cpu(*(volatile u32 *)(addr + (u_long)dev->iobase)); return le32_to_cpu(*(volatile u32 *)(addr + (u_long)dev->iobase));
} }
static int get_phyreg (struct eth_device *dev, unsigned char addr, static int get_phyreg(struct eth_device *dev, unsigned char addr,
unsigned char reg, unsigned short *value) unsigned char reg, unsigned short *value)
{ {
int cmd; int cmd;
@ -247,22 +247,22 @@ static int get_phyreg (struct eth_device *dev, unsigned char addr,
/* read requested data */ /* read requested data */
cmd = (2 << 26) | ((addr & 0x1f) << 21) | ((reg & 0x1f) << 16); cmd = (2 << 26) | ((addr & 0x1f) << 21) | ((reg & 0x1f) << 16);
OUTL (dev, cmd, SCBCtrlMDI); OUTL(dev, cmd, SCBCtrlMDI);
do { do {
udelay(1000); udelay(1000);
cmd = INL (dev, SCBCtrlMDI); cmd = INL(dev, SCBCtrlMDI);
} while (!(cmd & (1 << 28)) && (--timeout)); } while (!(cmd & (1 << 28)) && (--timeout));
if (timeout == 0) if (timeout == 0)
return -1; return -1;
*value = (unsigned short) (cmd & 0xffff); *value = (unsigned short)(cmd & 0xffff);
return 0; return 0;
} }
static int set_phyreg (struct eth_device *dev, unsigned char addr, static int set_phyreg(struct eth_device *dev, unsigned char addr,
unsigned char reg, unsigned short value) unsigned char reg, unsigned short value)
{ {
int cmd; int cmd;
@ -270,9 +270,9 @@ static int set_phyreg (struct eth_device *dev, unsigned char addr,
/* write requested data */ /* write requested data */
cmd = (1 << 26) | ((addr & 0x1f) << 21) | ((reg & 0x1f) << 16); cmd = (1 << 26) | ((addr & 0x1f) << 21) | ((reg & 0x1f) << 16);
OUTL (dev, cmd | value, SCBCtrlMDI); OUTL(dev, cmd | value, SCBCtrlMDI);
while (!(INL (dev, SCBCtrlMDI) & (1 << 28)) && (--timeout)) while (!(INL(dev, SCBCtrlMDI) & (1 << 28)) && (--timeout))
udelay(1000); udelay(1000);
if (timeout == 0) if (timeout == 0)
@ -285,7 +285,7 @@ static int set_phyreg (struct eth_device *dev, unsigned char addr,
* Check if given phyaddr is valid, i.e. there is a PHY connected. * Check if given phyaddr is valid, i.e. there is a PHY connected.
* Do this by checking model value field from ID2 register. * Do this by checking model value field from ID2 register.
*/ */
static struct eth_device* verify_phyaddr (const char *devname, static struct eth_device* verify_phyaddr(const char *devname,
unsigned char addr) unsigned char addr)
{ {
struct eth_device *dev; struct eth_device *dev;
@ -353,11 +353,11 @@ static int eepro100_miiphy_write(struct mii_dev *bus, int addr, int devad,
#endif #endif
/* Wait for the chip get the command. */ /* Wait for the chip get the command. */
static int wait_for_eepro100 (struct eth_device *dev) static int wait_for_eepro100(struct eth_device *dev)
{ {
int i; int i;
for (i = 0; INW (dev, SCBCmd) & (CU_CMD_MASK | RU_CMD_MASK); i++) { for (i = 0; INW(dev, SCBCmd) & (CU_CMD_MASK | RU_CMD_MASK); i++) {
if (i >= TOUT_LOOP) { if (i >= TOUT_LOOP) {
return 0; return 0;
} }
@ -373,7 +373,7 @@ static struct pci_device_id supported[] = {
{} {}
}; };
int eepro100_initialize (bd_t * bis) int eepro100_initialize(bd_t * bis)
{ {
pci_dev_t devno; pci_dev_t devno;
int card_number = 0; int card_number = 0;
@ -383,50 +383,50 @@ int eepro100_initialize (bd_t * bis)
while (1) { while (1) {
/* Find PCI device */ /* Find PCI device */
if ((devno = pci_find_devices (supported, idx++)) < 0) { if ((devno = pci_find_devices(supported, idx++)) < 0) {
break; break;
} }
pci_read_config_dword (devno, PCI_BASE_ADDRESS_0, &iobase); pci_read_config_dword(devno, PCI_BASE_ADDRESS_0, &iobase);
iobase &= ~0xf; iobase &= ~0xf;
debug("eepro100: Intel i82559 PCI EtherExpressPro @0x%x\n", debug("eepro100: Intel i82559 PCI EtherExpressPro @0x%x\n",
iobase); iobase);
pci_write_config_dword (devno, pci_write_config_dword(devno,
PCI_COMMAND, PCI_COMMAND,
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
/* Check if I/O accesses and Bus Mastering are enabled. */ /* Check if I/O accesses and Bus Mastering are enabled. */
pci_read_config_dword (devno, PCI_COMMAND, &status); pci_read_config_dword(devno, PCI_COMMAND, &status);
if (!(status & PCI_COMMAND_MEMORY)) { if (!(status & PCI_COMMAND_MEMORY)) {
printf ("Error: Can not enable MEM access.\n"); printf("Error: Can not enable MEM access.\n");
continue; continue;
} }
if (!(status & PCI_COMMAND_MASTER)) { if (!(status & PCI_COMMAND_MASTER)) {
printf ("Error: Can not enable Bus Mastering.\n"); printf("Error: Can not enable Bus Mastering.\n");
continue; continue;
} }
dev = (struct eth_device *) malloc (sizeof *dev); dev = (struct eth_device *)malloc(sizeof *dev);
if (!dev) { if (!dev) {
printf("eepro100: Can not allocate memory\n"); printf("eepro100: Can not allocate memory\n");
break; break;
} }
memset(dev, 0, sizeof(*dev)); memset(dev, 0, sizeof(*dev));
sprintf (dev->name, "i82559#%d", card_number); sprintf(dev->name, "i82559#%d", card_number);
dev->priv = (void *) devno; /* this have to come before bus_to_phys() */ dev->priv = (void *)devno; /* this have to come before bus_to_phys() */
dev->iobase = bus_to_phys (iobase); dev->iobase = bus_to_phys(iobase);
dev->init = eepro100_init; dev->init = eepro100_init;
dev->halt = eepro100_halt; dev->halt = eepro100_halt;
dev->send = eepro100_send; dev->send = eepro100_send;
dev->recv = eepro100_recv; dev->recv = eepro100_recv;
eth_register (dev); eth_register(dev);
#if defined (CONFIG_MII) || defined(CONFIG_CMD_MII) #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
/* register mii command access routines */ /* register mii command access routines */
int retval; int retval;
struct mii_dev *mdiodev = mdio_alloc(); struct mii_dev *mdiodev = mdio_alloc();
@ -444,89 +444,89 @@ int eepro100_initialize (bd_t * bis)
card_number++; card_number++;
/* Set the latency timer for value. */ /* Set the latency timer for value. */
pci_write_config_byte (devno, PCI_LATENCY_TIMER, 0x20); pci_write_config_byte(devno, PCI_LATENCY_TIMER, 0x20);
udelay(10 * 1000); udelay(10 * 1000);
read_hw_addr (dev, bis); read_hw_addr(dev, bis);
} }
return card_number; return card_number;
} }
static int eepro100_init (struct eth_device *dev, bd_t * bis) static int eepro100_init(struct eth_device *dev, bd_t * bis)
{ {
int i, status = -1; int i, status = -1;
int tx_cur; int tx_cur;
struct descriptor *ias_cmd, *cfg_cmd; struct descriptor *ias_cmd, *cfg_cmd;
/* Reset the ethernet controller */ /* Reset the ethernet controller */
OUTL (dev, I82559_SELECTIVE_RESET, SCBPort); OUTL(dev, I82559_SELECTIVE_RESET, SCBPort);
udelay(20); udelay(20);
OUTL (dev, I82559_RESET, SCBPort); OUTL(dev, I82559_RESET, SCBPort);
udelay(20); udelay(20);
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not reset ethernet controller.\n"); printf("Error: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, 0, SCBPointer); OUTL(dev, 0, SCBPointer);
OUTW (dev, SCB_M | RUC_ADDR_LOAD, SCBCmd); OUTW(dev, SCB_M | RUC_ADDR_LOAD, SCBCmd);
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not reset ethernet controller.\n"); printf("Error: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, 0, SCBPointer); OUTL(dev, 0, SCBPointer);
OUTW (dev, SCB_M | CU_ADDR_LOAD, SCBCmd); OUTW(dev, SCB_M | CU_ADDR_LOAD, SCBCmd);
/* Initialize Rx and Tx rings. */ /* Initialize Rx and Tx rings. */
init_rx_ring (dev); init_rx_ring(dev);
purge_tx_ring (dev); purge_tx_ring(dev);
/* Tell the adapter where the RX ring is located. */ /* Tell the adapter where the RX ring is located. */
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not reset ethernet controller.\n"); printf("Error: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, phys_to_bus ((u32) & rx_ring[rx_next]), SCBPointer); OUTL(dev, phys_to_bus((u32)&rx_ring[rx_next]), SCBPointer);
OUTW (dev, SCB_M | RUC_START, SCBCmd); OUTW(dev, SCB_M | RUC_START, SCBCmd);
/* Send the Configure frame */ /* Send the Configure frame */
tx_cur = tx_next; tx_cur = tx_next;
tx_next = ((tx_next + 1) % NUM_TX_DESC); tx_next = ((tx_next + 1) % NUM_TX_DESC);
cfg_cmd = (struct descriptor *) &tx_ring[tx_cur]; cfg_cmd = (struct descriptor *)&tx_ring[tx_cur];
cfg_cmd->command = cpu_to_le16 ((CONFIG_SYS_CMD_SUSPEND | CONFIG_SYS_CMD_CONFIGURE)); cfg_cmd->command = cpu_to_le16 ((CONFIG_SYS_CMD_SUSPEND | CONFIG_SYS_CMD_CONFIGURE));
cfg_cmd->status = 0; cfg_cmd->status = 0;
cfg_cmd->link = cpu_to_le32 (phys_to_bus ((u32) & tx_ring[tx_next])); cfg_cmd->link = cpu_to_le32 (phys_to_bus((u32)&tx_ring[tx_next]));
memcpy (cfg_cmd->params, i82558_config_cmd, memcpy(cfg_cmd->params, i82558_config_cmd,
sizeof (i82558_config_cmd)); sizeof(i82558_config_cmd));
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error---CONFIG_SYS_CMD_CONFIGURE: Can not reset ethernet controller.\n"); printf("Error---CONFIG_SYS_CMD_CONFIGURE: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, phys_to_bus ((u32) & tx_ring[tx_cur]), SCBPointer); OUTL(dev, phys_to_bus((u32)&tx_ring[tx_cur]), SCBPointer);
OUTW (dev, SCB_M | CU_START, SCBCmd); OUTW(dev, SCB_M | CU_START, SCBCmd);
for (i = 0; for (i = 0;
!(le16_to_cpu (tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_C); !(le16_to_cpu(tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_C);
i++) { i++) {
if (i >= TOUT_LOOP) { if (i >= TOUT_LOOP) {
printf ("%s: Tx error buffer not ready\n", dev->name); printf("%s: Tx error buffer not ready\n", dev->name);
goto Done; goto Done;
} }
} }
if (!(le16_to_cpu (tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_OK)) { if (!(le16_to_cpu(tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_OK)) {
printf ("TX error status = 0x%08X\n", printf("TX error status = 0x%08X\n",
le16_to_cpu (tx_ring[tx_cur].status)); le16_to_cpu(tx_ring[tx_cur].status));
goto Done; goto Done;
} }
@ -534,34 +534,34 @@ static int eepro100_init (struct eth_device *dev, bd_t * bis)
tx_cur = tx_next; tx_cur = tx_next;
tx_next = ((tx_next + 1) % NUM_TX_DESC); tx_next = ((tx_next + 1) % NUM_TX_DESC);
ias_cmd = (struct descriptor *) &tx_ring[tx_cur]; ias_cmd = (struct descriptor *)&tx_ring[tx_cur];
ias_cmd->command = cpu_to_le16 ((CONFIG_SYS_CMD_SUSPEND | CONFIG_SYS_CMD_IAS)); ias_cmd->command = cpu_to_le16 ((CONFIG_SYS_CMD_SUSPEND | CONFIG_SYS_CMD_IAS));
ias_cmd->status = 0; ias_cmd->status = 0;
ias_cmd->link = cpu_to_le32 (phys_to_bus ((u32) & tx_ring[tx_next])); ias_cmd->link = cpu_to_le32 (phys_to_bus((u32)&tx_ring[tx_next]));
memcpy (ias_cmd->params, dev->enetaddr, 6); memcpy(ias_cmd->params, dev->enetaddr, 6);
/* Tell the adapter where the TX ring is located. */ /* Tell the adapter where the TX ring is located. */
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not reset ethernet controller.\n"); printf("Error: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, phys_to_bus ((u32) & tx_ring[tx_cur]), SCBPointer); OUTL(dev, phys_to_bus((u32)&tx_ring[tx_cur]), SCBPointer);
OUTW (dev, SCB_M | CU_START, SCBCmd); OUTW(dev, SCB_M | CU_START, SCBCmd);
for (i = 0; !(le16_to_cpu (tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_C); for (i = 0; !(le16_to_cpu(tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_C);
i++) { i++) {
if (i >= TOUT_LOOP) { if (i >= TOUT_LOOP) {
printf ("%s: Tx error buffer not ready\n", printf("%s: Tx error buffer not ready\n",
dev->name); dev->name);
goto Done; goto Done;
} }
} }
if (!(le16_to_cpu (tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_OK)) { if (!(le16_to_cpu(tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_OK)) {
printf ("TX error status = 0x%08X\n", printf("TX error status = 0x%08X\n",
le16_to_cpu (tx_ring[tx_cur].status)); le16_to_cpu(tx_ring[tx_cur].status));
goto Done; goto Done;
} }
@ -577,48 +577,48 @@ static int eepro100_send(struct eth_device *dev, void *packet, int length)
int tx_cur; int tx_cur;
if (length <= 0) { if (length <= 0) {
printf ("%s: bad packet size: %d\n", dev->name, length); printf("%s: bad packet size: %d\n", dev->name, length);
goto Done; goto Done;
} }
tx_cur = tx_next; tx_cur = tx_next;
tx_next = (tx_next + 1) % NUM_TX_DESC; tx_next = (tx_next + 1) % NUM_TX_DESC;
tx_ring[tx_cur].command = cpu_to_le16 ( TxCB_CMD_TRANSMIT | tx_ring[tx_cur].command = cpu_to_le16 (TxCB_CMD_TRANSMIT |
TxCB_CMD_SF | TxCB_CMD_SF |
TxCB_CMD_S | TxCB_CMD_S |
TxCB_CMD_EL ); TxCB_CMD_EL);
tx_ring[tx_cur].status = 0; tx_ring[tx_cur].status = 0;
tx_ring[tx_cur].count = cpu_to_le32 (tx_threshold); tx_ring[tx_cur].count = cpu_to_le32 (tx_threshold);
tx_ring[tx_cur].link = tx_ring[tx_cur].link =
cpu_to_le32 (phys_to_bus ((u32) & tx_ring[tx_next])); cpu_to_le32 (phys_to_bus((u32)&tx_ring[tx_next]));
tx_ring[tx_cur].tx_desc_addr = tx_ring[tx_cur].tx_desc_addr =
cpu_to_le32 (phys_to_bus ((u32) & tx_ring[tx_cur].tx_buf_addr0)); cpu_to_le32 (phys_to_bus((u32)&tx_ring[tx_cur].tx_buf_addr0));
tx_ring[tx_cur].tx_buf_addr0 = tx_ring[tx_cur].tx_buf_addr0 =
cpu_to_le32 (phys_to_bus ((u_long) packet)); cpu_to_le32 (phys_to_bus((u_long)packet));
tx_ring[tx_cur].tx_buf_size0 = cpu_to_le32 (length); tx_ring[tx_cur].tx_buf_size0 = cpu_to_le32 (length);
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("%s: Tx error ethernet controller not ready.\n", printf("%s: Tx error ethernet controller not ready.\n",
dev->name); dev->name);
goto Done; goto Done;
} }
/* Send the packet. */ /* Send the packet. */
OUTL (dev, phys_to_bus ((u32) & tx_ring[tx_cur]), SCBPointer); OUTL(dev, phys_to_bus((u32)&tx_ring[tx_cur]), SCBPointer);
OUTW (dev, SCB_M | CU_START, SCBCmd); OUTW(dev, SCB_M | CU_START, SCBCmd);
for (i = 0; !(le16_to_cpu (tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_C); for (i = 0; !(le16_to_cpu(tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_C);
i++) { i++) {
if (i >= TOUT_LOOP) { if (i >= TOUT_LOOP) {
printf ("%s: Tx error buffer not ready\n", dev->name); printf("%s: Tx error buffer not ready\n", dev->name);
goto Done; goto Done;
} }
} }
if (!(le16_to_cpu (tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_OK)) { if (!(le16_to_cpu(tx_ring[tx_cur].status) & CONFIG_SYS_STATUS_OK)) {
printf ("TX error status = 0x%08X\n", printf("TX error status = 0x%08X\n",
le16_to_cpu (tx_ring[tx_cur].status)); le16_to_cpu(tx_ring[tx_cur].status));
goto Done; goto Done;
} }
@ -628,16 +628,16 @@ static int eepro100_send(struct eth_device *dev, void *packet, int length)
return status; return status;
} }
static int eepro100_recv (struct eth_device *dev) static int eepro100_recv(struct eth_device *dev)
{ {
u16 status, stat; u16 status, stat;
int rx_prev, length = 0; int rx_prev, length = 0;
stat = INW (dev, SCBStatus); stat = INW(dev, SCBStatus);
OUTW (dev, stat & SCB_STATUS_RNR, SCBStatus); OUTW(dev, stat & SCB_STATUS_RNR, SCBStatus);
for (;;) { for (;;) {
status = le16_to_cpu (rx_ring[rx_next].status); status = le16_to_cpu(rx_ring[rx_next].status);
if (!(status & RFD_STATUS_C)) { if (!(status & RFD_STATUS_C)) {
break; break;
@ -646,14 +646,14 @@ static int eepro100_recv (struct eth_device *dev)
/* Valid frame status. */ /* Valid frame status. */
if ((status & RFD_STATUS_OK)) { if ((status & RFD_STATUS_OK)) {
/* A valid frame received. */ /* A valid frame received. */
length = le32_to_cpu (rx_ring[rx_next].count) & 0x3fff; length = le32_to_cpu(rx_ring[rx_next].count) & 0x3fff;
/* Pass the packet up to the protocol layers. */ /* Pass the packet up to the protocol layers. */
net_process_received_packet((u8 *)rx_ring[rx_next].data, net_process_received_packet((u8 *)rx_ring[rx_next].data,
length); length);
} else { } else {
/* There was an error. */ /* There was an error. */
printf ("RX error status = 0x%08X\n", status); printf("RX error status = 0x%08X\n", status);
} }
rx_ring[rx_next].control = cpu_to_le16 (RFD_CONTROL_S); rx_ring[rx_next].control = cpu_to_le16 (RFD_CONTROL_S);
@ -669,87 +669,87 @@ static int eepro100_recv (struct eth_device *dev)
if (stat & SCB_STATUS_RNR) { if (stat & SCB_STATUS_RNR) {
printf ("%s: Receiver is not ready, restart it !\n", dev->name); printf("%s: Receiver is not ready, restart it !\n", dev->name);
/* Reinitialize Rx ring. */ /* Reinitialize Rx ring. */
init_rx_ring (dev); init_rx_ring(dev);
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not restart ethernet controller.\n"); printf("Error: Can not restart ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, phys_to_bus ((u32) & rx_ring[rx_next]), SCBPointer); OUTL(dev, phys_to_bus((u32)&rx_ring[rx_next]), SCBPointer);
OUTW (dev, SCB_M | RUC_START, SCBCmd); OUTW(dev, SCB_M | RUC_START, SCBCmd);
} }
Done: Done:
return length; return length;
} }
static void eepro100_halt (struct eth_device *dev) static void eepro100_halt(struct eth_device *dev)
{ {
/* Reset the ethernet controller */ /* Reset the ethernet controller */
OUTL (dev, I82559_SELECTIVE_RESET, SCBPort); OUTL(dev, I82559_SELECTIVE_RESET, SCBPort);
udelay(20); udelay(20);
OUTL (dev, I82559_RESET, SCBPort); OUTL(dev, I82559_RESET, SCBPort);
udelay(20); udelay(20);
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not reset ethernet controller.\n"); printf("Error: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, 0, SCBPointer); OUTL(dev, 0, SCBPointer);
OUTW (dev, SCB_M | RUC_ADDR_LOAD, SCBCmd); OUTW(dev, SCB_M | RUC_ADDR_LOAD, SCBCmd);
if (!wait_for_eepro100 (dev)) { if (!wait_for_eepro100(dev)) {
printf ("Error: Can not reset ethernet controller.\n"); printf("Error: Can not reset ethernet controller.\n");
goto Done; goto Done;
} }
OUTL (dev, 0, SCBPointer); OUTL(dev, 0, SCBPointer);
OUTW (dev, SCB_M | CU_ADDR_LOAD, SCBCmd); OUTW(dev, SCB_M | CU_ADDR_LOAD, SCBCmd);
Done: Done:
return; return;
} }
/* SROM Read. */ /* SROM Read. */
static int read_eeprom (struct eth_device *dev, int location, int addr_len) static int read_eeprom(struct eth_device *dev, int location, int addr_len)
{ {
unsigned short retval = 0; unsigned short retval = 0;
int read_cmd = location | EE_READ_CMD; int read_cmd = location | EE_READ_CMD;
int i; int i;
OUTW (dev, EE_ENB & ~EE_CS, SCBeeprom); OUTW(dev, EE_ENB & ~EE_CS, SCBeeprom);
OUTW (dev, EE_ENB, SCBeeprom); OUTW(dev, EE_ENB, SCBeeprom);
/* Shift the read command bits out. */ /* Shift the read command bits out. */
for (i = 12; i >= 0; i--) { for (i = 12; i >= 0; i--) {
short dataval = (read_cmd & (1 << i)) ? EE_DATA_WRITE : 0; short dataval = (read_cmd & (1 << i)) ? EE_DATA_WRITE : 0;
OUTW (dev, EE_ENB | dataval, SCBeeprom); OUTW(dev, EE_ENB | dataval, SCBeeprom);
udelay(1); udelay(1);
OUTW (dev, EE_ENB | dataval | EE_SHIFT_CLK, SCBeeprom); OUTW(dev, EE_ENB | dataval | EE_SHIFT_CLK, SCBeeprom);
udelay(1); udelay(1);
} }
OUTW (dev, EE_ENB, SCBeeprom); OUTW(dev, EE_ENB, SCBeeprom);
for (i = 15; i >= 0; i--) { for (i = 15; i >= 0; i--) {
OUTW (dev, EE_ENB | EE_SHIFT_CLK, SCBeeprom); OUTW(dev, EE_ENB | EE_SHIFT_CLK, SCBeeprom);
udelay(1); udelay(1);
retval = (retval << 1) | retval = (retval << 1) |
((INW (dev, SCBeeprom) & EE_DATA_READ) ? 1 : 0); ((INW(dev, SCBeeprom) & EE_DATA_READ) ? 1 : 0);
OUTW (dev, EE_ENB, SCBeeprom); OUTW(dev, EE_ENB, SCBeeprom);
udelay(1); udelay(1);
} }
/* Terminate the EEPROM access. */ /* Terminate the EEPROM access. */
OUTW (dev, EE_ENB & ~EE_CS, SCBeeprom); OUTW(dev, EE_ENB & ~EE_CS, SCBeeprom);
return retval; return retval;
} }
static void init_rx_ring (struct eth_device *dev) static void init_rx_ring(struct eth_device *dev)
{ {
int i; int i;
@ -759,7 +759,7 @@ static void init_rx_ring (struct eth_device *dev)
(i == NUM_RX_DESC - 1) ? cpu_to_le16 (RFD_CONTROL_S) : 0; (i == NUM_RX_DESC - 1) ? cpu_to_le16 (RFD_CONTROL_S) : 0;
rx_ring[i].link = rx_ring[i].link =
cpu_to_le32 (phys_to_bus cpu_to_le32 (phys_to_bus
((u32) & rx_ring[(i + 1) % NUM_RX_DESC])); ((u32)&rx_ring[(i + 1) % NUM_RX_DESC]));
rx_ring[i].rx_buf_addr = 0xffffffff; rx_ring[i].rx_buf_addr = 0xffffffff;
rx_ring[i].count = cpu_to_le32 (PKTSIZE_ALIGN << 16); rx_ring[i].count = cpu_to_le32 (PKTSIZE_ALIGN << 16);
} }
@ -767,7 +767,7 @@ static void init_rx_ring (struct eth_device *dev)
rx_next = 0; rx_next = 0;
} }
static void purge_tx_ring (struct eth_device *dev) static void purge_tx_ring(struct eth_device *dev)
{ {
int i; int i;
@ -788,14 +788,14 @@ static void purge_tx_ring (struct eth_device *dev)
} }
} }
static void read_hw_addr (struct eth_device *dev, bd_t * bis) static void read_hw_addr(struct eth_device *dev, bd_t * bis)
{ {
u16 sum = 0; u16 sum = 0;
int i, j; int i, j;
int addr_len = read_eeprom (dev, 0, 6) == 0xffff ? 8 : 6; int addr_len = read_eeprom(dev, 0, 6) == 0xffff ? 8 : 6;
for (j = 0, i = 0; i < 0x40; i++) { for (j = 0, i = 0; i < 0x40; i++) {
u16 value = read_eeprom (dev, i, addr_len); u16 value = read_eeprom(dev, i, addr_len);
sum += value; sum += value;
if (i < 3) { if (i < 3) {
@ -805,7 +805,7 @@ static void read_hw_addr (struct eth_device *dev, bd_t * bis)
} }
if (sum != 0xBABA) { if (sum != 0xBABA) {
memset (dev->enetaddr, 0, ETH_ALEN); memset(dev->enetaddr, 0, ETH_ALEN);
debug("%s: Invalid EEPROM checksum %#4.4x, check settings before activating this device!\n", debug("%s: Invalid EEPROM checksum %#4.4x, check settings before activating this device!\n",
dev->name, sum); dev->name, sum);
} }