Lines Matching refs:lp
437 mace_private *lp; in nmclan_probe() local
446 lp = netdev_priv(dev); in nmclan_probe()
447 lp->p_dev = link; in nmclan_probe()
450 spin_lock_init(&lp->bank_lock); in nmclan_probe()
457 lp->tx_free_frames=AM2150_MAX_TX_FRAMES; in nmclan_probe()
486 static int mace_read(mace_private *lp, unsigned int ioaddr, int reg) in mace_read() argument
496 spin_lock_irqsave(&lp->bank_lock, flags); in mace_read()
500 spin_unlock_irqrestore(&lp->bank_lock, flags); in mace_read()
513 static void mace_write(mace_private *lp, unsigned int ioaddr, int reg, in mace_write() argument
523 spin_lock_irqsave(&lp->bank_lock, flags); in mace_write()
527 spin_unlock_irqrestore(&lp->bank_lock, flags); in mace_write()
536 static int mace_init(mace_private *lp, unsigned int ioaddr, char *enet_addr) in mace_init() argument
542 mace_write(lp, ioaddr, MACE_BIUCC, 1); in mace_init()
543 while (mace_read(lp, ioaddr, MACE_BIUCC) & 0x01) { in mace_init()
552 mace_write(lp, ioaddr, MACE_BIUCC, 0); in mace_init()
555 mace_write(lp, ioaddr, MACE_FIFOCC, 0x0F); in mace_init()
557 mace_write(lp,ioaddr, MACE_RCVFC, 0); /* Disable Auto Strip Receive */ in mace_init()
558 mace_write(lp, ioaddr, MACE_IMR, 0xFF); /* Disable all interrupts until _open */ in mace_init()
574 mace_write(lp, ioaddr, MACE_PLSCC, 0x02); in mace_init()
577 mace_write(lp, ioaddr, MACE_PLSCC, 0x00); in mace_init()
580 mace_write(lp, ioaddr, MACE_PHYCC, /* ASEL */ 4); in mace_init()
587 mace_write(lp, ioaddr, MACE_IAC, MACE_IAC_ADDRCHG | MACE_IAC_PHYADDR); in mace_init()
590 while (mace_read(lp, ioaddr, MACE_IAC) & MACE_IAC_ADDRCHG) in mace_init()
600 mace_write(lp, ioaddr, MACE_PADR, enet_addr[i]); in mace_init()
605 mace_write(lp, ioaddr, MACE_MACCC, 0x00); in mace_init()
612 mace_private *lp = netdev_priv(dev); in nmclan_config() local
649 sig[0] = mace_read(lp, ioaddr, MACE_CHIPIDL); in nmclan_config()
650 sig[1] = mace_read(lp, ioaddr, MACE_CHIPIDH); in nmclan_config()
661 if(mace_init(lp, ioaddr, dev->dev_addr) == -1) in nmclan_config()
722 mace_private *lp = netdev_priv(dev); in nmclan_reset() local
725 struct pcmcia_device *link = &lp->link; in nmclan_reset()
741 lp->tx_free_frames=AM2150_MAX_TX_FRAMES; in nmclan_reset()
746 lp->tx_free_frames=AM2150_MAX_TX_FRAMES; in nmclan_reset()
749 mace_init(lp, dev->base_addr, dev->dev_addr); in nmclan_reset()
750 mace_write(lp, dev->base_addr, MACE_IMR, MACE_IMR_DEFAULT); in nmclan_reset()
781 mace_private *lp = netdev_priv(dev); in mace_open() local
782 struct pcmcia_device *link = lp->p_dev; in mace_open()
804 mace_private *lp = netdev_priv(dev); in mace_close() local
805 struct pcmcia_device *link = lp->p_dev; in mace_close()
844 mace_private *lp = netdev_priv(dev); in mace_tx_timeout() local
845 struct pcmcia_device *link = lp->p_dev; in mace_tx_timeout()
861 mace_private *lp = netdev_priv(dev); in mace_start_xmit() local
873 lp->tx_irq_disabled=1; in mace_start_xmit()
883 lp->linux_stats.tx_bytes += skb->len; in mace_start_xmit()
884 lp->tx_free_frames--; in mace_start_xmit()
897 if (lp->tx_free_frames > 0) in mace_start_xmit()
904 lp->tx_irq_disabled=0; in mace_start_xmit()
920 mace_private *lp = netdev_priv(dev); in mace_interrupt() local
933 if (lp->tx_irq_disabled) { in mace_interrupt()
935 if (lp->tx_irq_disabled) in mace_interrupt()
971 lp->linux_stats.tx_errors++; in mace_interrupt()
977 if (xmtrc & MACE_XMTRC_EXDEF) lp->mace_stats.exdef++; in mace_interrupt()
978 lp->mace_stats.xmtrc += (xmtrc & MACE_XMTRC_XMTRC); in mace_interrupt()
984 lp->mace_stats.xmtsv++; in mace_interrupt()
990 lp->mace_stats.uflo++; in mace_interrupt()
994 lp->mace_stats.lcol++; in mace_interrupt()
998 lp->mace_stats.more++; in mace_interrupt()
1002 lp->mace_stats.one++; in mace_interrupt()
1006 lp->mace_stats.defer++; in mace_interrupt()
1010 lp->mace_stats.lcar++; in mace_interrupt()
1014 lp->mace_stats.rtry++; in mace_interrupt()
1020 lp->linux_stats.tx_packets++; in mace_interrupt()
1021 lp->tx_free_frames++; in mace_interrupt()
1028 lp->mace_stats.jab++; in mace_interrupt()
1032 lp->mace_stats.babl++; in mace_interrupt()
1038 lp->mace_stats.cerr++; in mace_interrupt()
1042 lp->mace_stats.rcvcco++; in mace_interrupt()
1046 lp->mace_stats.rntpco++; in mace_interrupt()
1050 lp->mace_stats.mpco++; in mace_interrupt()
1065 mace_private *lp = netdev_priv(dev); in mace_rx() local
1081 lp->linux_stats.rx_errors++; in mace_rx()
1083 lp->mace_stats.oflo++; in mace_rx()
1086 lp->mace_stats.clsn++; in mace_rx()
1089 lp->mace_stats.fram++; in mace_rx()
1092 lp->mace_stats.fcs++; in mace_rx()
1099 lp->mace_stats.rfs_rntpc += inb(ioaddr + AM2150_RCV); in mace_rx()
1101 lp->mace_stats.rfs_rcvcc += inb(ioaddr + AM2150_RCV); in mace_rx()
1118 lp->linux_stats.rx_packets++; in mace_rx()
1119 lp->linux_stats.rx_bytes += pkt_len; in mace_rx()
1125 lp->linux_stats.rx_dropped++; in mace_rx()
1229 mace_private *lp = netdev_priv(dev); in update_stats() local
1231 lp->mace_stats.rcvcc += mace_read(lp, ioaddr, MACE_RCVCC); in update_stats()
1232 lp->mace_stats.rntpc += mace_read(lp, ioaddr, MACE_RNTPC); in update_stats()
1233 lp->mace_stats.mpc += mace_read(lp, ioaddr, MACE_MPC); in update_stats()
1241 lp->linux_stats.collisions = in update_stats()
1242 lp->mace_stats.rcvcco * 256 + lp->mace_stats.rcvcc; in update_stats()
1249 lp->linux_stats.rx_length_errors = in update_stats()
1250 lp->mace_stats.rntpco * 256 + lp->mace_stats.rntpc; in update_stats()
1252 lp->linux_stats.rx_crc_errors = lp->mace_stats.fcs; in update_stats()
1253 lp->linux_stats.rx_frame_errors = lp->mace_stats.fram; in update_stats()
1254 lp->linux_stats.rx_fifo_errors = lp->mace_stats.oflo; in update_stats()
1255 lp->linux_stats.rx_missed_errors = in update_stats()
1256 lp->mace_stats.mpco * 256 + lp->mace_stats.mpc; in update_stats()
1259 lp->linux_stats.tx_aborted_errors = lp->mace_stats.rtry; in update_stats()
1260 lp->linux_stats.tx_carrier_errors = lp->mace_stats.lcar; in update_stats()
1262 lp->linux_stats.tx_fifo_errors = lp->mace_stats.uflo; in update_stats()
1263 lp->linux_stats.tx_heartbeat_errors = lp->mace_stats.cerr; in update_stats()
1273 mace_private *lp = netdev_priv(dev); in mace_get_stats() local
1278 pr_linux_stats(&lp->linux_stats); in mace_get_stats()
1279 pr_mace_stats(&lp->mace_stats); in mace_get_stats()
1281 return &lp->linux_stats; in mace_get_stats()
1364 mace_private *lp = netdev_priv(dev); in restore_multicast_list() local
1365 int num_addrs = lp->multicast_num_addrs; in restore_multicast_list()
1366 int *ladrf = lp->multicast_ladrf; in restore_multicast_list()
1377 mace_write(lp, ioaddr, MACE_IAC, MACE_IAC_ADDRCHG | MACE_IAC_LOGADDR); in restore_multicast_list()
1379 while (mace_read(lp, ioaddr, MACE_IAC) & MACE_IAC_ADDRCHG) in restore_multicast_list()
1383 mace_write(lp, ioaddr, MACE_LADRF, ladrf[i]); in restore_multicast_list()
1385 mace_write(lp, ioaddr, MACE_UTR, MACE_UTR_RCVFCSE | MACE_UTR_LOOP_EXTERNAL); in restore_multicast_list()
1386 mace_write(lp, ioaddr, MACE_MACCC, MACE_MACCC_ENXMT | MACE_MACCC_ENRCV); in restore_multicast_list()
1391 mace_write(lp, ioaddr, MACE_UTR, MACE_UTR_LOOP_EXTERNAL); in restore_multicast_list()
1392 mace_write(lp, ioaddr, MACE_MACCC, in restore_multicast_list()
1399 mace_write(lp, ioaddr, MACE_UTR, MACE_UTR_LOOP_EXTERNAL); in restore_multicast_list()
1400 mace_write(lp, ioaddr, MACE_MACCC, MACE_MACCC_ENXMT | MACE_MACCC_ENRCV); in restore_multicast_list()
1421 mace_private *lp = netdev_priv(dev); in set_multicast_list() local
1437 lp->multicast_num_addrs = netdev_mc_count(dev); in set_multicast_list()
1442 memset(lp->multicast_ladrf, 0, MACE_LADRF_LEN); in set_multicast_list()
1445 BuildLAF(lp->multicast_ladrf, adr); in set_multicast_list()
1458 mace_private *lp = netdev_priv(dev); in restore_multicast_list() local
1461 lp->multicast_num_addrs); in restore_multicast_list()
1465 mace_write(lp,ioaddr, MACE_UTR, MACE_UTR_LOOP_EXTERNAL); in restore_multicast_list()
1466 mace_write(lp, ioaddr, MACE_MACCC, in restore_multicast_list()
1471 mace_write(lp, ioaddr, MACE_UTR, MACE_UTR_LOOP_EXTERNAL); in restore_multicast_list()
1472 mace_write(lp, ioaddr, MACE_MACCC, MACE_MACCC_ENXMT | MACE_MACCC_ENRCV); in restore_multicast_list()
1478 mace_private *lp = netdev_priv(dev); in set_multicast_list() local
1491 lp->multicast_num_addrs = netdev_mc_count(dev); in set_multicast_list()