Lines Matching full:lp

128 static void load_csrs(struct lance_private *lp)  in load_csrs()  argument
130 volatile struct lance_regs *ll = lp->ll; in load_csrs()
131 volatile struct lance_init_block *aib = lp->lance_init_block; in load_csrs()
139 ll->rdp = lp->busmaster_regval; in load_csrs()
148 struct lance_private *lp = netdev_priv(dev); in lance_init_ring() local
149 volatile struct lance_init_block *ib = lp->init_block; in lance_init_ring()
150 volatile struct lance_init_block *aib = lp->lance_init_block; in lance_init_ring()
157 lp->rx_new = lp->tx_new = 0; in lance_init_ring()
158 lp->rx_old = lp->tx_old = 0; in lance_init_ring()
174 for (i = 0; i <= 1 << lp->lance_log_tx_bufs; i++) { in lance_init_ring()
187 for (i = 0; i < 1 << lp->lance_log_rx_bufs; i++) { in lance_init_ring()
203 ib->rx_len = (lp->lance_log_rx_bufs << 13) | (leptr >> 16); in lance_init_ring()
209 ib->tx_len = (lp->lance_log_tx_bufs << 13) | (leptr >> 16); in lance_init_ring()
218 static int init_restart_lance(struct lance_private *lp) in init_restart_lance() argument
220 volatile struct lance_regs *ll = lp->ll; in init_restart_lance()
243 struct lance_private *lp = netdev_priv(dev); in lance_rx() local
244 volatile struct lance_init_block *ib = lp->init_block; in lance_rx()
245 volatile struct lance_regs *ll = lp->ll; in lance_rx()
255 if (i == lp->rx_new) in lance_rx()
266 for (rd = &ib->brx_ring[lp->rx_new]; in lance_rx()
268 rd = &ib->brx_ring[lp->rx_new]) { in lance_rx()
297 lp->rx_new = (lp->rx_new + 1) & lp->rx_ring_mod_mask; in lance_rx()
304 (unsigned char *)&ib->rx_buf[lp->rx_new][0], in lance_rx()
315 lp->rx_new = (lp->rx_new + 1) & lp->rx_ring_mod_mask; in lance_rx()
322 struct lance_private *lp = netdev_priv(dev); in lance_tx() local
323 volatile struct lance_init_block *ib = lp->init_block; in lance_tx()
324 volatile struct lance_regs *ll = lp->ll; in lance_tx()
333 j = lp->tx_old; in lance_tx()
334 for (i = j; i != lp->tx_new; i = j) { in lance_tx()
352 if (lp->auto_select) { in lance_tx()
353 lp->tpe = 1 - lp->tpe; in lance_tx()
355 lp->tpe ? "TPE" : "AUI"); in lance_tx()
360 load_csrs(lp); in lance_tx()
361 init_restart_lance(lp); in lance_tx()
377 load_csrs(lp); in lance_tx()
378 init_restart_lance(lp); in lance_tx()
396 j = (j + 1) & lp->tx_ring_mod_mask; in lance_tx()
398 lp->tx_old = j; in lance_tx()
403 static int lance_tx_buffs_avail(struct lance_private *lp) in lance_tx_buffs_avail() argument
405 if (lp->tx_old <= lp->tx_new) in lance_tx_buffs_avail()
406 return lp->tx_old + lp->tx_ring_mod_mask - lp->tx_new; in lance_tx_buffs_avail()
407 return lp->tx_old - lp->tx_new - 1; in lance_tx_buffs_avail()
413 struct lance_private *lp = netdev_priv(dev); in lance_interrupt() local
414 volatile struct lance_regs *ll = lp->ll; in lance_interrupt()
450 if (netif_queue_stopped(dev) && lance_tx_buffs_avail(lp) > 0) in lance_interrupt()
461 struct lance_private *lp = netdev_priv(dev); in lance_open() local
462 volatile struct lance_regs *ll = lp->ll; in lance_open()
475 load_csrs(lp); in lance_open()
480 return init_restart_lance(lp); in lance_open()
485 struct lance_private *lp = netdev_priv(dev); in lance_close() local
486 volatile struct lance_regs *ll = lp->ll; in lance_close()
489 del_timer_sync(&lp->multicast_timer); in lance_close()
501 struct lance_private *lp = netdev_priv(dev); in lance_reset() local
502 volatile struct lance_regs *ll = lp->ll; in lance_reset()
509 load_csrs(lp); in lance_reset()
515 status = init_restart_lance(lp); in lance_reset()
523 struct lance_private *lp = netdev_priv(dev); in lance_tx_timeout() local
524 volatile struct lance_regs *ll = lp->ll; in lance_tx_timeout()
534 struct lance_private *lp = netdev_priv(dev); in lance_start_xmit() local
535 volatile struct lance_regs *ll = lp->ll; in lance_start_xmit()
536 volatile struct lance_init_block *ib = lp->init_block; in lance_start_xmit()
547 if (!lance_tx_buffs_avail(lp)) in lance_start_xmit()
554 entry = lp->tx_new & lp->tx_ring_mod_mask; in lance_start_xmit()
562 lp->tx_new = (lp->tx_new+1) & lp->tx_ring_mod_mask; in lance_start_xmit()
565 if (lance_tx_buffs_avail(lp) <= 0) in lance_start_xmit()
581 struct lance_private *lp = netdev_priv(dev); in lance_load_multicast() local
582 volatile struct lance_init_block *ib = lp->init_block; in lance_load_multicast()
607 struct lance_private *lp = netdev_priv(dev); in lance_set_multicast() local
608 volatile struct lance_init_block *ib = lp->init_block; in lance_set_multicast()
609 volatile struct lance_regs *ll = lp->ll; in lance_set_multicast()
614 if (lp->tx_old != lp->tx_new) { in lance_set_multicast()
615 mod_timer(&lp->multicast_timer, jiffies + 4); in lance_set_multicast()
632 load_csrs(lp); in lance_set_multicast()
633 init_restart_lance(lp); in lance_set_multicast()
639 struct lance_private *lp = from_timer(lp, t, multicast_timer); in lance_set_multicast_retry() local
641 lance_set_multicast(lp->dev); in lance_set_multicast_retry()