Lines Matching refs:lp

131 static void load_csrs(struct lance_private *lp)  in load_csrs()  argument
133 volatile struct lance_regs *ll = lp->ll; in load_csrs()
134 volatile struct lance_init_block *aib = lp->lance_init_block; in load_csrs()
142 ll->rdp = lp->busmaster_regval; in load_csrs()
151 struct lance_private *lp = netdev_priv(dev); in lance_init_ring() local
152 volatile struct lance_init_block *ib = lp->init_block; in lance_init_ring()
153 volatile struct lance_init_block *aib = lp->lance_init_block; in lance_init_ring()
160 lp->rx_new = lp->tx_new = 0; in lance_init_ring()
161 lp->rx_old = lp->tx_old = 0; in lance_init_ring()
177 for (i = 0; i <= 1 << lp->lance_log_tx_bufs; i++) { in lance_init_ring()
190 for (i = 0; i < 1 << lp->lance_log_rx_bufs; i++) { in lance_init_ring()
206 ib->rx_len = (lp->lance_log_rx_bufs << 13) | (leptr >> 16); in lance_init_ring()
212 ib->tx_len = (lp->lance_log_tx_bufs << 13) | (leptr >> 16); in lance_init_ring()
221 static int init_restart_lance(struct lance_private *lp) in init_restart_lance() argument
223 volatile struct lance_regs *ll = lp->ll; in init_restart_lance()
246 struct lance_private *lp = netdev_priv(dev); in lance_rx() local
247 volatile struct lance_init_block *ib = lp->init_block; in lance_rx()
248 volatile struct lance_regs *ll = lp->ll; in lance_rx()
258 if (i == lp->rx_new) in lance_rx()
269 for (rd = &ib->brx_ring[lp->rx_new]; in lance_rx()
271 rd = &ib->brx_ring[lp->rx_new]) { in lance_rx()
300 lp->rx_new = (lp->rx_new + 1) & lp->rx_ring_mod_mask; in lance_rx()
307 (unsigned char *)&ib->rx_buf[lp->rx_new][0], in lance_rx()
318 lp->rx_new = (lp->rx_new + 1) & lp->rx_ring_mod_mask; in lance_rx()
325 struct lance_private *lp = netdev_priv(dev); in lance_tx() local
326 volatile struct lance_init_block *ib = lp->init_block; in lance_tx()
327 volatile struct lance_regs *ll = lp->ll; in lance_tx()
336 j = lp->tx_old; in lance_tx()
337 for (i = j; i != lp->tx_new; i = j) { in lance_tx()
355 if (lp->auto_select) { in lance_tx()
356 lp->tpe = 1 - lp->tpe; in lance_tx()
358 lp->tpe ? "TPE" : "AUI"); in lance_tx()
363 load_csrs(lp); in lance_tx()
364 init_restart_lance(lp); in lance_tx()
380 load_csrs(lp); in lance_tx()
381 init_restart_lance(lp); in lance_tx()
399 j = (j + 1) & lp->tx_ring_mod_mask; in lance_tx()
401 lp->tx_old = j; in lance_tx()
406 static int lance_tx_buffs_avail(struct lance_private *lp) in lance_tx_buffs_avail() argument
408 if (lp->tx_old <= lp->tx_new) in lance_tx_buffs_avail()
409 return lp->tx_old + lp->tx_ring_mod_mask - lp->tx_new; in lance_tx_buffs_avail()
410 return lp->tx_old - lp->tx_new - 1; in lance_tx_buffs_avail()
416 struct lance_private *lp = netdev_priv(dev); in lance_interrupt() local
417 volatile struct lance_regs *ll = lp->ll; in lance_interrupt()
453 if (netif_queue_stopped(dev) && lance_tx_buffs_avail(lp) > 0) in lance_interrupt()
464 struct lance_private *lp = netdev_priv(dev); in lance_open() local
465 volatile struct lance_regs *ll = lp->ll; in lance_open()
478 load_csrs(lp); in lance_open()
483 return init_restart_lance(lp); in lance_open()
488 struct lance_private *lp = netdev_priv(dev); in lance_close() local
489 volatile struct lance_regs *ll = lp->ll; in lance_close()
492 del_timer_sync(&lp->multicast_timer); in lance_close()
504 struct lance_private *lp = netdev_priv(dev); in lance_reset() local
505 volatile struct lance_regs *ll = lp->ll; in lance_reset()
512 load_csrs(lp); in lance_reset()
518 status = init_restart_lance(lp); in lance_reset()
526 struct lance_private *lp = netdev_priv(dev); in lance_tx_timeout() local
527 volatile struct lance_regs *ll = lp->ll; in lance_tx_timeout()
537 struct lance_private *lp = netdev_priv(dev); in lance_start_xmit() local
538 volatile struct lance_regs *ll = lp->ll; in lance_start_xmit()
539 volatile struct lance_init_block *ib = lp->init_block; in lance_start_xmit()
550 if (!lance_tx_buffs_avail(lp)) { in lance_start_xmit()
560 entry = lp->tx_new & lp->tx_ring_mod_mask; in lance_start_xmit()
568 lp->tx_new = (lp->tx_new+1) & lp->tx_ring_mod_mask; in lance_start_xmit()
571 if (lance_tx_buffs_avail(lp) <= 0) in lance_start_xmit()
586 struct lance_private *lp = netdev_priv(dev); in lance_load_multicast() local
587 volatile struct lance_init_block *ib = lp->init_block; in lance_load_multicast()
612 struct lance_private *lp = netdev_priv(dev); in lance_set_multicast() local
613 volatile struct lance_init_block *ib = lp->init_block; in lance_set_multicast()
614 volatile struct lance_regs *ll = lp->ll; in lance_set_multicast()
619 if (lp->tx_old != lp->tx_new) { in lance_set_multicast()
620 mod_timer(&lp->multicast_timer, jiffies + 4); in lance_set_multicast()
637 load_csrs(lp); in lance_set_multicast()
638 init_restart_lance(lp); in lance_set_multicast()