aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/forcedeth.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/forcedeth.c')
-rw-r--r--drivers/net/forcedeth.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index cee25fe7e19b..66ea5fc5c2e2 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -458,7 +458,7 @@ typedef union _ring_type {
458 458
459#define RX_RING 128 459#define RX_RING 128
460#define TX_RING 256 460#define TX_RING 256
461/* 461/*
462 * If your nic mysteriously hangs then try to reduce the limits 462 * If your nic mysteriously hangs then try to reduce the limits
463 * to 1/0: It might be required to set NV_TX_LASTPACKET in the 463 * to 1/0: It might be required to set NV_TX_LASTPACKET in the
464 * last valid ring entry. But this would be impossible to 464 * last valid ring entry. But this would be impossible to
@@ -480,7 +480,7 @@ typedef union _ring_type {
480#define POLL_WAIT (1+HZ/100) 480#define POLL_WAIT (1+HZ/100)
481#define LINK_TIMEOUT (3*HZ) 481#define LINK_TIMEOUT (3*HZ)
482 482
483/* 483/*
484 * desc_ver values: 484 * desc_ver values:
485 * The nic supports three different descriptor types: 485 * The nic supports three different descriptor types:
486 * - DESC_VER_1: Original 486 * - DESC_VER_1: Original
@@ -619,7 +619,7 @@ static int max_interrupt_work = 5;
619 619
620/* 620/*
621 * Optimization can be either throuput mode or cpu mode 621 * Optimization can be either throuput mode or cpu mode
622 * 622 *
623 * Throughput Mode: Every tx and rx packet will generate an interrupt. 623 * Throughput Mode: Every tx and rx packet will generate an interrupt.
624 * CPU Mode: Interrupts are controlled by a timer. 624 * CPU Mode: Interrupts are controlled by a timer.
625 */ 625 */
@@ -1119,7 +1119,7 @@ static void nv_do_rx_refill(unsigned long data)
1119 } 1119 }
1120} 1120}
1121 1121
1122static void nv_init_rx(struct net_device *dev) 1122static void nv_init_rx(struct net_device *dev)
1123{ 1123{
1124 struct fe_priv *np = netdev_priv(dev); 1124 struct fe_priv *np = netdev_priv(dev);
1125 int i; 1125 int i;
@@ -1183,7 +1183,7 @@ static void nv_drain_tx(struct net_device *dev)
1183{ 1183{
1184 struct fe_priv *np = netdev_priv(dev); 1184 struct fe_priv *np = netdev_priv(dev);
1185 unsigned int i; 1185 unsigned int i;
1186 1186
1187 for (i = 0; i < TX_RING; i++) { 1187 for (i = 0; i < TX_RING; i++) {
1188 if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) 1188 if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2)
1189 np->tx_ring.orig[i].FlagLen = 0; 1189 np->tx_ring.orig[i].FlagLen = 0;
@@ -1329,7 +1329,7 @@ static int nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
1329 } else { 1329 } else {
1330 np->tx_ring.ex[start_nr].TxVlan = cpu_to_le32(tx_flags_vlan); 1330 np->tx_ring.ex[start_nr].TxVlan = cpu_to_le32(tx_flags_vlan);
1331 np->tx_ring.ex[start_nr].FlagLen |= cpu_to_le32(tx_flags | tx_flags_extra); 1331 np->tx_ring.ex[start_nr].FlagLen |= cpu_to_le32(tx_flags | tx_flags_extra);
1332 } 1332 }
1333 1333
1334 dprintk(KERN_DEBUG "%s: nv_start_xmit: packet %d (entries %d) queued for transmission. tx_flags_extra: %x\n", 1334 dprintk(KERN_DEBUG "%s: nv_start_xmit: packet %d (entries %d) queued for transmission. tx_flags_extra: %x\n",
1335 dev->name, np->next_tx, entries, tx_flags_extra); 1335 dev->name, np->next_tx, entries, tx_flags_extra);
@@ -1404,7 +1404,7 @@ static void nv_tx_done(struct net_device *dev)
1404 } else { 1404 } else {
1405 np->stats.tx_packets++; 1405 np->stats.tx_packets++;
1406 np->stats.tx_bytes += skb->len; 1406 np->stats.tx_bytes += skb->len;
1407 } 1407 }
1408 } 1408 }
1409 } 1409 }
1410 nv_release_txskb(dev, i); 1410 nv_release_txskb(dev, i);
@@ -1450,7 +1450,7 @@ static void nv_tx_timeout(struct net_device *dev)
1450 for (i=0;i<TX_RING;i+= 4) { 1450 for (i=0;i<TX_RING;i+= 4) {
1451 if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) { 1451 if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) {
1452 printk(KERN_INFO "%03x: %08x %08x // %08x %08x // %08x %08x // %08x %08x\n", 1452 printk(KERN_INFO "%03x: %08x %08x // %08x %08x // %08x %08x // %08x %08x\n",
1453 i, 1453 i,
1454 le32_to_cpu(np->tx_ring.orig[i].PacketBuffer), 1454 le32_to_cpu(np->tx_ring.orig[i].PacketBuffer),
1455 le32_to_cpu(np->tx_ring.orig[i].FlagLen), 1455 le32_to_cpu(np->tx_ring.orig[i].FlagLen),
1456 le32_to_cpu(np->tx_ring.orig[i+1].PacketBuffer), 1456 le32_to_cpu(np->tx_ring.orig[i+1].PacketBuffer),
@@ -1461,7 +1461,7 @@ static void nv_tx_timeout(struct net_device *dev)
1461 le32_to_cpu(np->tx_ring.orig[i+3].FlagLen)); 1461 le32_to_cpu(np->tx_ring.orig[i+3].FlagLen));
1462 } else { 1462 } else {
1463 printk(KERN_INFO "%03x: %08x %08x %08x // %08x %08x %08x // %08x %08x %08x // %08x %08x %08x\n", 1463 printk(KERN_INFO "%03x: %08x %08x %08x // %08x %08x %08x // %08x %08x %08x // %08x %08x %08x\n",
1464 i, 1464 i,
1465 le32_to_cpu(np->tx_ring.ex[i].PacketBufferHigh), 1465 le32_to_cpu(np->tx_ring.ex[i].PacketBufferHigh),
1466 le32_to_cpu(np->tx_ring.ex[i].PacketBufferLow), 1466 le32_to_cpu(np->tx_ring.ex[i].PacketBufferLow),
1467 le32_to_cpu(np->tx_ring.ex[i].FlagLen), 1467 le32_to_cpu(np->tx_ring.ex[i].FlagLen),
@@ -2067,7 +2067,7 @@ set_speed:
2067 if (lpa_pause == LPA_PAUSE_ASYM) 2067 if (lpa_pause == LPA_PAUSE_ASYM)
2068 { 2068 {
2069 np->pause_flags |= NV_PAUSEFRAME_RX_ENABLE; 2069 np->pause_flags |= NV_PAUSEFRAME_RX_ENABLE;
2070 } 2070 }
2071 break; 2071 break;
2072 } 2072 }
2073 } 2073 }
@@ -2086,7 +2086,7 @@ set_speed:
2086 writel(regmisc|NVREG_MISC1_PAUSE_TX, base + NvRegMisc1); 2086 writel(regmisc|NVREG_MISC1_PAUSE_TX, base + NvRegMisc1);
2087 } else { 2087 } else {
2088 writel(NVREG_TX_PAUSEFRAME_DISABLE, base + NvRegTxPauseFrame); 2088 writel(NVREG_TX_PAUSEFRAME_DISABLE, base + NvRegTxPauseFrame);
2089 writel(regmisc, base + NvRegMisc1); 2089 writel(regmisc, base + NvRegMisc1);
2090 } 2090 }
2091 } 2091 }
2092 2092
@@ -2150,7 +2150,7 @@ static irqreturn_t nv_nic_irq(int foo, void *data, struct pt_regs *regs)
2150 spin_lock(&np->lock); 2150 spin_lock(&np->lock);
2151 nv_tx_done(dev); 2151 nv_tx_done(dev);
2152 spin_unlock(&np->lock); 2152 spin_unlock(&np->lock);
2153 2153
2154 nv_rx_process(dev); 2154 nv_rx_process(dev);
2155 if (nv_alloc_rx(dev)) { 2155 if (nv_alloc_rx(dev)) {
2156 spin_lock(&np->lock); 2156 spin_lock(&np->lock);
@@ -2158,7 +2158,7 @@ static irqreturn_t nv_nic_irq(int foo, void *data, struct pt_regs *regs)
2158 mod_timer(&np->oom_kick, jiffies + OOM_REFILL); 2158 mod_timer(&np->oom_kick, jiffies + OOM_REFILL);
2159 spin_unlock(&np->lock); 2159 spin_unlock(&np->lock);
2160 } 2160 }
2161 2161
2162 if (events & NVREG_IRQ_LINK) { 2162 if (events & NVREG_IRQ_LINK) {
2163 spin_lock(&np->lock); 2163 spin_lock(&np->lock);
2164 nv_link_irq(dev); 2164 nv_link_irq(dev);
@@ -2223,7 +2223,7 @@ static irqreturn_t nv_nic_irq_tx(int foo, void *data, struct pt_regs *regs)
2223 spin_lock_irq(&np->lock); 2223 spin_lock_irq(&np->lock);
2224 nv_tx_done(dev); 2224 nv_tx_done(dev);
2225 spin_unlock_irq(&np->lock); 2225 spin_unlock_irq(&np->lock);
2226 2226
2227 if (events & (NVREG_IRQ_TX_ERR)) { 2227 if (events & (NVREG_IRQ_TX_ERR)) {
2228 dprintk(KERN_DEBUG "%s: received irq with events 0x%x. Probably TX fail.\n", 2228 dprintk(KERN_DEBUG "%s: received irq with events 0x%x. Probably TX fail.\n",
2229 dev->name, events); 2229 dev->name, events);
@@ -2266,7 +2266,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs)
2266 dprintk(KERN_DEBUG "%s: rx irq: %08x\n", dev->name, events); 2266 dprintk(KERN_DEBUG "%s: rx irq: %08x\n", dev->name, events);
2267 if (!(events & np->irqmask)) 2267 if (!(events & np->irqmask))
2268 break; 2268 break;
2269 2269
2270 nv_rx_process(dev); 2270 nv_rx_process(dev);
2271 if (nv_alloc_rx(dev)) { 2271 if (nv_alloc_rx(dev)) {
2272 spin_lock_irq(&np->lock); 2272 spin_lock_irq(&np->lock);
@@ -2274,7 +2274,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs)
2274 mod_timer(&np->oom_kick, jiffies + OOM_REFILL); 2274 mod_timer(&np->oom_kick, jiffies + OOM_REFILL);
2275 spin_unlock_irq(&np->lock); 2275 spin_unlock_irq(&np->lock);
2276 } 2276 }
2277 2277
2278 if (i > max_interrupt_work) { 2278 if (i > max_interrupt_work) {
2279 spin_lock_irq(&np->lock); 2279 spin_lock_irq(&np->lock);
2280 /* disable interrupts on the nic */ 2280 /* disable interrupts on the nic */
@@ -2313,7 +2313,7 @@ static irqreturn_t nv_nic_irq_other(int foo, void *data, struct pt_regs *regs)
2313 dprintk(KERN_DEBUG "%s: irq: %08x\n", dev->name, events); 2313 dprintk(KERN_DEBUG "%s: irq: %08x\n", dev->name, events);
2314 if (!(events & np->irqmask)) 2314 if (!(events & np->irqmask))
2315 break; 2315 break;
2316 2316
2317 if (events & NVREG_IRQ_LINK) { 2317 if (events & NVREG_IRQ_LINK) {
2318 spin_lock_irq(&np->lock); 2318 spin_lock_irq(&np->lock);
2319 nv_link_irq(dev); 2319 nv_link_irq(dev);
@@ -2386,7 +2386,7 @@ static void nv_do_nic_poll(unsigned long data)
2386 np->nic_poll_irq = 0; 2386 np->nic_poll_irq = 0;
2387 2387
2388 /* FIXME: Do we need synchronize_irq(dev->irq) here? */ 2388 /* FIXME: Do we need synchronize_irq(dev->irq) here? */
2389 2389
2390 writel(mask, base + NvRegIrqMask); 2390 writel(mask, base + NvRegIrqMask);
2391 pci_push(base); 2391 pci_push(base);
2392 2392
@@ -3165,7 +3165,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
3165 if (id->driver_data & DEV_HAS_PAUSEFRAME_TX) { 3165 if (id->driver_data & DEV_HAS_PAUSEFRAME_TX) {
3166 np->pause_flags |= NV_PAUSEFRAME_TX_CAPABLE; 3166 np->pause_flags |= NV_PAUSEFRAME_TX_CAPABLE;
3167 } 3167 }
3168 3168
3169 3169
3170 err = -ENOMEM; 3170 err = -ENOMEM;
3171 np->base = ioremap(addr, np->register_size); 3171 np->base = ioremap(addr, np->register_size);
@@ -3313,7 +3313,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
3313 pci_name(pci_dev)); 3313 pci_name(pci_dev));
3314 goto out_freering; 3314 goto out_freering;
3315 } 3315 }
3316 3316
3317 /* reset it */ 3317 /* reset it */
3318 phy_init(dev); 3318 phy_init(dev);
3319 3319