Lines Matching refs:ei_local

97 #define ei_reset_8390 (ei_local->reset_8390)
98 #define ei_block_output (ei_local->block_output)
99 #define ei_block_input (ei_local->block_input)
100 #define ei_get_8390_hdr (ei_local->get_8390_hdr)
206 struct ei_device *ei_local = netdev_priv(dev); in __ei_open() local
216 spin_lock_irqsave(&ei_local->page_lock, flags); in __ei_open()
221 spin_unlock_irqrestore(&ei_local->page_lock, flags); in __ei_open()
222 ei_local->irqlock = 0; in __ei_open()
234 struct ei_device *ei_local = netdev_priv(dev); in __ei_close() local
241 spin_lock_irqsave(&ei_local->page_lock, flags); in __ei_close()
243 spin_unlock_irqrestore(&ei_local->page_lock, flags); in __ei_close()
259 struct ei_device *ei_local = netdev_priv(dev); in __ei_tx_timeout() local
265 spin_lock_irqsave(&ei_local->page_lock, flags); in __ei_tx_timeout()
268 spin_unlock_irqrestore(&ei_local->page_lock, flags); in __ei_tx_timeout()
277 ei_local->interface_num ^= 1; /* Try a different xcvr. */ in __ei_tx_timeout()
283 spin_lock(&ei_local->page_lock); in __ei_tx_timeout()
289 spin_unlock(&ei_local->page_lock); in __ei_tx_timeout()
306 struct ei_device *ei_local = netdev_priv(dev); in __ei_start_xmit() local
324 spin_lock_irqsave(&ei_local->page_lock, flags); in __ei_start_xmit()
326 spin_unlock_irqrestore(&ei_local->page_lock, flags); in __ei_start_xmit()
335 spin_lock(&ei_local->page_lock); in __ei_start_xmit()
337 ei_local->irqlock = 1; in __ei_start_xmit()
347 if (ei_local->tx1 == 0) { in __ei_start_xmit()
348 output_page = ei_local->tx_start_page; in __ei_start_xmit()
349 ei_local->tx1 = send_length; in __ei_start_xmit()
350 if ((netif_msg_tx_queued(ei_local)) && in __ei_start_xmit()
351 ei_local->tx2 > 0) in __ei_start_xmit()
354 ei_local->tx2, ei_local->lasttx, ei_local->txing); in __ei_start_xmit()
355 } else if (ei_local->tx2 == 0) { in __ei_start_xmit()
356 output_page = ei_local->tx_start_page + TX_PAGES/2; in __ei_start_xmit()
357 ei_local->tx2 = send_length; in __ei_start_xmit()
358 if ((netif_msg_tx_queued(ei_local)) && in __ei_start_xmit()
359 ei_local->tx1 > 0) in __ei_start_xmit()
362 ei_local->tx1, ei_local->lasttx, ei_local->txing); in __ei_start_xmit()
364 netif_dbg(ei_local, tx_err, dev, in __ei_start_xmit()
366 ei_local->tx1, ei_local->tx2, ei_local->lasttx); in __ei_start_xmit()
367 ei_local->irqlock = 0; in __ei_start_xmit()
370 spin_unlock(&ei_local->page_lock); in __ei_start_xmit()
384 if (!ei_local->txing) { in __ei_start_xmit()
385 ei_local->txing = 1; in __ei_start_xmit()
387 if (output_page == ei_local->tx_start_page) { in __ei_start_xmit()
388 ei_local->tx1 = -1; in __ei_start_xmit()
389 ei_local->lasttx = -1; in __ei_start_xmit()
391 ei_local->tx2 = -1; in __ei_start_xmit()
392 ei_local->lasttx = -2; in __ei_start_xmit()
395 ei_local->txqueue++; in __ei_start_xmit()
397 if (ei_local->tx1 && ei_local->tx2) in __ei_start_xmit()
403 ei_local->irqlock = 0; in __ei_start_xmit()
406 spin_unlock(&ei_local->page_lock); in __ei_start_xmit()
432 struct ei_device *ei_local = netdev_priv(dev); in __ei_interrupt() local
438 spin_lock(&ei_local->page_lock); in __ei_interrupt()
440 if (ei_local->irqlock) { in __ei_interrupt()
448 spin_unlock(&ei_local->page_lock); in __ei_interrupt()
454 netif_dbg(ei_local, intr, dev, "interrupt(isr=%#2.2x)\n", in __ei_interrupt()
493 if (interrupts && (netif_msg_intr(ei_local))) { in __ei_interrupt()
506 spin_unlock(&ei_local->page_lock); in __ei_interrupt()
537 struct ei_device *ei_local __maybe_unused = netdev_priv(dev); in ei_tx_err()
582 struct ei_device *ei_local = netdev_priv(dev); in ei_tx_intr() local
591 ei_local->txqueue--; in ei_tx_intr()
593 if (ei_local->tx1 < 0) { in ei_tx_intr()
594 if (ei_local->lasttx != 1 && ei_local->lasttx != -1) in ei_tx_intr()
596 ei_local->name, ei_local->lasttx, ei_local->tx1); in ei_tx_intr()
597 ei_local->tx1 = 0; in ei_tx_intr()
598 if (ei_local->tx2 > 0) { in ei_tx_intr()
599 ei_local->txing = 1; in ei_tx_intr()
600 NS8390_trigger_send(dev, ei_local->tx2, ei_local->tx_start_page + 6); in ei_tx_intr()
602 ei_local->tx2 = -1; in ei_tx_intr()
603 ei_local->lasttx = 2; in ei_tx_intr()
605 ei_local->lasttx = 20; in ei_tx_intr()
606 ei_local->txing = 0; in ei_tx_intr()
608 } else if (ei_local->tx2 < 0) { in ei_tx_intr()
609 if (ei_local->lasttx != 2 && ei_local->lasttx != -2) in ei_tx_intr()
611 ei_local->name, ei_local->lasttx, ei_local->tx2); in ei_tx_intr()
612 ei_local->tx2 = 0; in ei_tx_intr()
613 if (ei_local->tx1 > 0) { in ei_tx_intr()
614 ei_local->txing = 1; in ei_tx_intr()
615 NS8390_trigger_send(dev, ei_local->tx1, ei_local->tx_start_page); in ei_tx_intr()
617 ei_local->tx1 = -1; in ei_tx_intr()
618 ei_local->lasttx = 1; in ei_tx_intr()
620 ei_local->lasttx = 10; in ei_tx_intr()
621 ei_local->txing = 0; in ei_tx_intr()
662 struct ei_device *ei_local = netdev_priv(dev); in ei_receive() local
667 int num_rx_pages = ei_local->stop_page-ei_local->rx_start_page; in ei_receive()
679 if (this_frame >= ei_local->stop_page) in ei_receive()
680 this_frame = ei_local->rx_start_page; in ei_receive()
688 if ((netif_msg_rx_status(ei_local)) && in ei_receive()
689 this_frame != ei_local->current_page && in ei_receive()
693 this_frame, ei_local->current_page); in ei_receive()
713 ei_local->current_page = rxing_page; in ei_receive()
714 ei_outb(ei_local->current_page-1, e8390_base+EN0_BOUNDARY); in ei_receive()
720 netif_dbg(ei_local, rx_status, dev, in ei_receive()
731 netif_err(ei_local, rx_err, dev, in ei_receive()
749 netif_err(ei_local, rx_err, dev, in ei_receive()
761 if (next_frame >= ei_local->stop_page) { in ei_receive()
764 next_frame = ei_local->rx_start_page; in ei_receive()
766 ei_local->current_page = next_frame; in ei_receive()
793 struct ei_device *ei_local __maybe_unused = netdev_priv(dev); in ei_rx_overrun()
802 netif_dbg(ei_local, rx_err, dev, "Receiver overrun\n"); in ei_rx_overrun()
859 struct ei_device *ei_local = netdev_priv(dev); in __ei_get_stats() local
866 spin_lock_irqsave(&ei_local->page_lock, flags); in __ei_get_stats()
871 spin_unlock_irqrestore(&ei_local->page_lock, flags); in __ei_get_stats()
907 struct ei_device *ei_local = netdev_priv(dev); in do_set_multicast_list() local
910 memset(ei_local->mcfilter, 0, 8); in do_set_multicast_list()
912 make_mc_bits(ei_local->mcfilter, dev); in do_set_multicast_list()
914 memset(ei_local->mcfilter, 0xFF, 8); /* mcast set to accept-all */ in do_set_multicast_list()
933 ei_outb_p(ei_local->mcfilter[i], e8390_base + EN1_MULT_SHIFT(i)); in do_set_multicast_list()
935 if (ei_inb_p(e8390_base + EN1_MULT_SHIFT(i)) != ei_local->mcfilter[i]) in do_set_multicast_list()
959 struct ei_device *ei_local = netdev_priv(dev); in __ei_set_multicast_list() local
961 spin_lock_irqsave(&ei_local->page_lock, flags); in __ei_set_multicast_list()
963 spin_unlock_irqrestore(&ei_local->page_lock, flags); in __ei_set_multicast_list()
976 struct ei_device *ei_local = netdev_priv(dev); in ethdev_setup() local
980 spin_lock_init(&ei_local->page_lock); in ethdev_setup()
982 ei_local->msg_enable = netif_msg_init(msg_enable, default_msg_level); in ethdev_setup()
984 if (netif_msg_drv(ei_local) && (version_printed++ == 0)) in ethdev_setup()
1017 struct ei_device *ei_local = netdev_priv(dev); in __NS8390_init() local
1019 int endcfg = ei_local->word16 in __NS8390_init()
1020 ? (0x48 | ENDCFG_WTS | (ei_local->bigendian ? ENDCFG_BOS : 0)) in __NS8390_init()
1034 ei_outb_p(ei_local->tx_start_page, e8390_base + EN0_TPSR); in __NS8390_init()
1035 ei_local->tx1 = ei_local->tx2 = 0; in __NS8390_init()
1036 ei_outb_p(ei_local->rx_start_page, e8390_base + EN0_STARTPG); in __NS8390_init()
1037 ei_outb_p(ei_local->stop_page-1, e8390_base + EN0_BOUNDARY); /* 3c503 says 0x3f,NS0x26*/ in __NS8390_init()
1038 ei_local->current_page = ei_local->rx_start_page; /* assert boundary+1 */ in __NS8390_init()
1039 ei_outb_p(ei_local->stop_page, e8390_base + EN0_STOPPG); in __NS8390_init()
1049 if ((netif_msg_probe(ei_local)) && in __NS8390_init()
1055 ei_outb_p(ei_local->rx_start_page, e8390_base + EN1_CURPAG); in __NS8390_init()
1058 ei_local->tx1 = ei_local->tx2 = 0; in __NS8390_init()
1059 ei_local->txing = 0; in __NS8390_init()
1079 struct ei_device *ei_local __attribute((unused)) = netdev_priv(dev); in NS8390_trigger_send()