Lines Matching refs:dev

122 	struct net_device	  *dev;  member
146 static void lance_init_ring(struct net_device *dev) in lance_init_ring() argument
148 struct lance_private *lp = netdev_priv(dev); in lance_init_ring()
156 netif_stop_queue(dev); in lance_init_ring()
165 ib->phys_addr[0] = dev->dev_addr[1]; in lance_init_ring()
166 ib->phys_addr[1] = dev->dev_addr[0]; in lance_init_ring()
167 ib->phys_addr[2] = dev->dev_addr[3]; in lance_init_ring()
168 ib->phys_addr[3] = dev->dev_addr[2]; in lance_init_ring()
169 ib->phys_addr[4] = dev->dev_addr[5]; in lance_init_ring()
170 ib->phys_addr[5] = dev->dev_addr[4]; in lance_init_ring()
173 netdev_dbg(dev, "TX rings:\n"); in lance_init_ring()
182 netdev_dbg(dev, "%d: 0x%08x\n", i, leptr); in lance_init_ring()
186 netdev_dbg(dev, "RX rings:\n"); in lance_init_ring()
196 netdev_dbg(dev, "%d: 0x%08x\n", i, leptr); in lance_init_ring()
205 netdev_dbg(dev, "RX ptr: %08x\n", leptr); in lance_init_ring()
211 netdev_dbg(dev, "TX ptr: %08x\n", leptr); in lance_init_ring()
241 static int lance_rx(struct net_device *dev) in lance_rx() argument
243 struct lance_private *lp = netdev_priv(dev); in lance_rx()
272 dev->stats.rx_over_errors++; in lance_rx()
273 dev->stats.rx_errors++; in lance_rx()
280 dev->stats.rx_fifo_errors++; in lance_rx()
282 dev->stats.rx_crc_errors++; in lance_rx()
284 dev->stats.rx_over_errors++; in lance_rx()
286 dev->stats.rx_frame_errors++; in lance_rx()
288 dev->stats.rx_errors++; in lance_rx()
291 struct sk_buff *skb = netdev_alloc_skb(dev, len + 2); in lance_rx()
294 dev->stats.rx_dropped++; in lance_rx()
306 skb->protocol = eth_type_trans(skb, dev); in lance_rx()
308 dev->stats.rx_packets++; in lance_rx()
309 dev->stats.rx_bytes += len; in lance_rx()
320 static int lance_tx(struct net_device *dev) in lance_tx() argument
322 struct lance_private *lp = netdev_priv(dev); in lance_tx()
344 dev->stats.tx_errors++; in lance_tx()
346 dev->stats.tx_aborted_errors++; in lance_tx()
348 dev->stats.tx_window_errors++; in lance_tx()
351 dev->stats.tx_carrier_errors++; in lance_tx()
354 netdev_err(dev, "Carrier Lost, trying %s\n", in lance_tx()
359 lance_init_ring(dev); in lance_tx()
370 dev->stats.tx_fifo_errors++; in lance_tx()
372 netdev_err(dev, "Tx: ERR_BUF|ERR_UFL, restarting\n"); in lance_tx()
376 lance_init_ring(dev); in lance_tx()
387 dev->stats.collisions++; in lance_tx()
391 dev->stats.collisions += 2; in lance_tx()
393 dev->stats.tx_packets++; in lance_tx()
412 struct net_device *dev = dev_id; in lance_interrupt() local
413 struct lance_private *lp = netdev_priv(dev); in lance_interrupt()
433 lance_rx(dev); in lance_interrupt()
436 lance_tx(dev); in lance_interrupt()
440 dev->stats.tx_errors++; /* Tx babble. */ in lance_interrupt()
442 dev->stats.rx_errors++; /* Missed a Rx frame. */ in lance_interrupt()
444 netdev_err(dev, "Bus master arbitration failure, status %04x\n", in lance_interrupt()
450 if (netif_queue_stopped(dev) && lance_tx_buffs_avail(lp) > 0) in lance_interrupt()
451 netif_wake_queue(dev); in lance_interrupt()
459 static int lance_open(struct net_device *dev) in lance_open() argument
461 struct lance_private *lp = netdev_priv(dev); in lance_open()
471 dev->name, dev); in lance_open()
476 lance_init_ring(dev); in lance_open()
478 netif_start_queue(dev); in lance_open()
483 static int lance_close(struct net_device *dev) in lance_close() argument
485 struct lance_private *lp = netdev_priv(dev); in lance_close()
488 netif_stop_queue(dev); in lance_close()
495 free_irq(IRQ_AMIGA_PORTS, dev); in lance_close()
499 static inline int lance_reset(struct net_device *dev) in lance_reset() argument
501 struct lance_private *lp = netdev_priv(dev); in lance_reset()
511 lance_init_ring(dev); in lance_reset()
512 netif_trans_update(dev); /* prevent tx timeout */ in lance_reset()
513 netif_start_queue(dev); in lance_reset()
516 netdev_dbg(dev, "Lance restart=%d\n", status); in lance_reset()
521 static void lance_tx_timeout(struct net_device *dev, unsigned int txqueue) in lance_tx_timeout() argument
523 struct lance_private *lp = netdev_priv(dev); in lance_tx_timeout()
526 netdev_err(dev, "transmit timed out, status %04x, reset\n", ll->rdp); in lance_tx_timeout()
527 lance_reset(dev); in lance_tx_timeout()
528 netif_wake_queue(dev); in lance_tx_timeout()
532 struct net_device *dev) in lance_start_xmit() argument
534 struct lance_private *lp = netdev_priv(dev); in lance_start_xmit()
563 dev->stats.tx_bytes += skblen; in lance_start_xmit()
566 netif_stop_queue(dev); in lance_start_xmit()
579 static void lance_load_multicast(struct net_device *dev) in lance_load_multicast() argument
581 struct lance_private *lp = netdev_priv(dev); in lance_load_multicast()
588 if (dev->flags & IFF_ALLMULTI) { in lance_load_multicast()
598 netdev_for_each_mc_addr(ha, dev) { in lance_load_multicast()
605 static void lance_set_multicast(struct net_device *dev) in lance_set_multicast() argument
607 struct lance_private *lp = netdev_priv(dev); in lance_set_multicast()
611 if (!netif_running(dev)) in lance_set_multicast()
616 netif_wake_queue(dev); in lance_set_multicast()
620 netif_stop_queue(dev); in lance_set_multicast()
624 lance_init_ring(dev); in lance_set_multicast()
626 if (dev->flags & IFF_PROMISC) { in lance_set_multicast()
630 lance_load_multicast(dev); in lance_set_multicast()
634 netif_wake_queue(dev); in lance_set_multicast()
641 lance_set_multicast(lp->dev); in lance_set_multicast_retry()
677 struct net_device *dev; in a2065_init_one() local
697 dev = alloc_etherdev(sizeof(struct lance_private)); in a2065_init_one()
698 if (!dev) { in a2065_init_one()
704 priv = netdev_priv(dev); in a2065_init_one()
706 r1->name = dev->name; in a2065_init_one()
707 r2->name = dev->name; in a2065_init_one()
721 eth_hw_addr_set(dev, addr); in a2065_init_one()
722 dev->base_addr = (unsigned long)ZTWO_VADDR(base_addr); in a2065_init_one()
723 dev->mem_start = (unsigned long)ZTWO_VADDR(mem_start); in a2065_init_one()
724 dev->mem_end = dev->mem_start + A2065_RAM_SIZE; in a2065_init_one()
726 priv->ll = (volatile struct lance_regs *)dev->base_addr; in a2065_init_one()
727 priv->init_block = (struct lance_init_block *)dev->mem_start; in a2065_init_one()
736 priv->dev = dev; in a2065_init_one()
738 dev->netdev_ops = &lance_netdev_ops; in a2065_init_one()
739 dev->watchdog_timeo = 5*HZ; in a2065_init_one()
740 dev->dma = 0; in a2065_init_one()
744 err = register_netdev(dev); in a2065_init_one()
748 free_netdev(dev); in a2065_init_one()
751 zorro_set_drvdata(z, dev); in a2065_init_one()
753 netdev_info(dev, "A2065 at 0x%08lx, Ethernet Address %pM\n", in a2065_init_one()
754 board, dev->dev_addr); in a2065_init_one()
762 struct net_device *dev = zorro_get_drvdata(z); in a2065_remove_one() local
764 unregister_netdev(dev); in a2065_remove_one()
765 release_mem_region(ZTWO_PADDR(dev->base_addr), in a2065_remove_one()
767 release_mem_region(ZTWO_PADDR(dev->mem_start), A2065_RAM_SIZE); in a2065_remove_one()
768 free_netdev(dev); in a2065_remove_one()