Lines Matching full:lp
244 struct r6040_private *lp = netdev_priv(dev); in r6040_mdiobus_read() local
245 void __iomem *ioaddr = lp->base; in r6040_mdiobus_read()
254 struct r6040_private *lp = netdev_priv(dev); in r6040_mdiobus_write() local
255 void __iomem *ioaddr = lp->base; in r6040_mdiobus_write()
262 struct r6040_private *lp = netdev_priv(dev); in r6040_free_txbufs() local
266 if (lp->tx_insert_ptr->skb_ptr) { in r6040_free_txbufs()
267 dma_unmap_single(&lp->pdev->dev, in r6040_free_txbufs()
268 le32_to_cpu(lp->tx_insert_ptr->buf), in r6040_free_txbufs()
270 dev_kfree_skb(lp->tx_insert_ptr->skb_ptr); in r6040_free_txbufs()
271 lp->tx_insert_ptr->skb_ptr = NULL; in r6040_free_txbufs()
273 lp->tx_insert_ptr = lp->tx_insert_ptr->vndescp; in r6040_free_txbufs()
279 struct r6040_private *lp = netdev_priv(dev); in r6040_free_rxbufs() local
283 if (lp->rx_insert_ptr->skb_ptr) { in r6040_free_rxbufs()
284 dma_unmap_single(&lp->pdev->dev, in r6040_free_rxbufs()
285 le32_to_cpu(lp->rx_insert_ptr->buf), in r6040_free_rxbufs()
287 dev_kfree_skb(lp->rx_insert_ptr->skb_ptr); in r6040_free_rxbufs()
288 lp->rx_insert_ptr->skb_ptr = NULL; in r6040_free_rxbufs()
290 lp->rx_insert_ptr = lp->rx_insert_ptr->vndescp; in r6040_free_rxbufs()
313 struct r6040_private *lp = netdev_priv(dev); in r6040_init_txbufs() local
315 lp->tx_free_desc = TX_DCNT; in r6040_init_txbufs()
317 lp->tx_remove_ptr = lp->tx_insert_ptr = lp->tx_ring; in r6040_init_txbufs()
318 r6040_init_ring_desc(lp->tx_ring, lp->tx_ring_dma, TX_DCNT); in r6040_init_txbufs()
323 struct r6040_private *lp = netdev_priv(dev); in r6040_alloc_rxbufs() local
328 lp->rx_remove_ptr = lp->rx_insert_ptr = lp->rx_ring; in r6040_alloc_rxbufs()
329 r6040_init_ring_desc(lp->rx_ring, lp->rx_ring_dma, RX_DCNT); in r6040_alloc_rxbufs()
332 desc = lp->rx_ring; in r6040_alloc_rxbufs()
340 desc->buf = cpu_to_le32(dma_map_single(&lp->pdev->dev, in r6040_alloc_rxbufs()
346 } while (desc != lp->rx_ring); in r6040_alloc_rxbufs()
356 static void r6040_reset_mac(struct r6040_private *lp) in r6040_reset_mac() argument
358 void __iomem *ioaddr = lp->base; in r6040_reset_mac()
382 struct r6040_private *lp = netdev_priv(dev); in r6040_init_mac_regs() local
383 void __iomem *ioaddr = lp->base; in r6040_init_mac_regs()
389 r6040_reset_mac(lp); in r6040_init_mac_regs()
398 iowrite16(lp->tx_ring_dma, ioaddr + MTD_SA0); in r6040_init_mac_regs()
399 iowrite16(lp->tx_ring_dma >> 16, ioaddr + MTD_SA1); in r6040_init_mac_regs()
402 iowrite16(lp->rx_ring_dma, ioaddr + MRD_SA0); in r6040_init_mac_regs()
403 iowrite16(lp->rx_ring_dma >> 16, ioaddr + MRD_SA1); in r6040_init_mac_regs()
413 iowrite16(lp->mcr0 | MCR0_RCVEN, ioaddr); in r6040_init_mac_regs()
454 struct r6040_private *lp = netdev_priv(dev); in r6040_down() local
455 void __iomem *ioaddr = lp->base; in r6040_down()
462 r6040_reset_mac(lp); in r6040_down()
473 struct r6040_private *lp = netdev_priv(dev); in r6040_close() local
474 struct pci_dev *pdev = lp->pdev; in r6040_close()
477 napi_disable(&lp->napi); in r6040_close()
480 spin_lock_irq(&lp->lock); in r6040_close()
489 spin_unlock_irq(&lp->lock); in r6040_close()
494 if (lp->rx_ring) { in r6040_close()
495 dma_free_coherent(&pdev->dev, RX_DESC_SIZE, lp->rx_ring, in r6040_close()
496 lp->rx_ring_dma); in r6040_close()
497 lp->rx_ring = NULL; in r6040_close()
500 if (lp->tx_ring) { in r6040_close()
501 dma_free_coherent(&pdev->dev, TX_DESC_SIZE, lp->tx_ring, in r6040_close()
502 lp->tx_ring_dma); in r6040_close()
503 lp->tx_ring = NULL; in r6040_close()
650 struct r6040_private *lp = netdev_priv(dev); in r6040_interrupt() local
651 void __iomem *ioaddr = lp->base; in r6040_interrupt()
677 if (likely(napi_schedule_prep(&lp->napi))) { in r6040_interrupt()
680 __napi_schedule_irqoff(&lp->napi); in r6040_interrupt()
702 struct r6040_private *lp = netdev_priv(dev); in r6040_up() local
703 void __iomem *ioaddr = lp->base; in r6040_up()
732 struct r6040_private *lp = netdev_priv(dev); in r6040_mac_address() local
733 void __iomem *ioaddr = lp->base; in r6040_mac_address()
737 r6040_reset_mac(lp); in r6040_mac_address()
748 struct r6040_private *lp = netdev_priv(dev); in r6040_open() local
761 lp->rx_ring = in r6040_open()
762 dma_alloc_coherent(&lp->pdev->dev, RX_DESC_SIZE, in r6040_open()
763 &lp->rx_ring_dma, GFP_KERNEL); in r6040_open()
764 if (!lp->rx_ring) { in r6040_open()
769 lp->tx_ring = in r6040_open()
770 dma_alloc_coherent(&lp->pdev->dev, TX_DESC_SIZE, in r6040_open()
771 &lp->tx_ring_dma, GFP_KERNEL); in r6040_open()
772 if (!lp->tx_ring) { in r6040_open()
781 napi_enable(&lp->napi); in r6040_open()
787 dma_free_coherent(&lp->pdev->dev, TX_DESC_SIZE, lp->tx_ring, in r6040_open()
788 lp->tx_ring_dma); in r6040_open()
790 dma_free_coherent(&lp->pdev->dev, RX_DESC_SIZE, lp->rx_ring, in r6040_open()
791 lp->rx_ring_dma); in r6040_open()
801 struct r6040_private *lp = netdev_priv(dev); in r6040_start_xmit() local
803 void __iomem *ioaddr = lp->base; in r6040_start_xmit()
810 spin_lock_irqsave(&lp->lock, flags); in r6040_start_xmit()
813 if (!lp->tx_free_desc) { in r6040_start_xmit()
814 spin_unlock_irqrestore(&lp->lock, flags); in r6040_start_xmit()
821 lp->tx_free_desc--; in r6040_start_xmit()
822 descptr = lp->tx_insert_ptr; in r6040_start_xmit()
825 descptr->buf = cpu_to_le32(dma_map_single(&lp->pdev->dev, skb->data, in r6040_start_xmit()
834 lp->tx_insert_ptr = descptr->vndescp; in r6040_start_xmit()
837 if (!lp->tx_free_desc) in r6040_start_xmit()
840 spin_unlock_irqrestore(&lp->lock, flags); in r6040_start_xmit()
847 struct r6040_private *lp = netdev_priv(dev); in r6040_multicast_list() local
848 void __iomem *ioaddr = lp->base; in r6040_multicast_list()
855 spin_lock_irqsave(&lp->lock, flags); in r6040_multicast_list()
864 lp->mcr0 = ioread16(ioaddr + MCR0) & ~(MCR0_PROMISC | MCR0_HASH_EN); in r6040_multicast_list()
868 lp->mcr0 |= MCR0_PROMISC; in r6040_multicast_list()
873 lp->mcr0 |= MCR0_HASH_EN; in r6040_multicast_list()
906 lp->mcr0 |= MCR0_HASH_EN; in r6040_multicast_list()
924 iowrite16(lp->mcr0, ioaddr + MCR0); in r6040_multicast_list()
927 if (lp->mcr0 & MCR0_HASH_EN) { in r6040_multicast_list()
934 spin_unlock_irqrestore(&lp->lock, flags); in r6040_multicast_list()
973 struct r6040_private *lp = netdev_priv(dev); in r6040_adjust_link() local
976 void __iomem *ioaddr = lp->base; in r6040_adjust_link()
980 if (lp->old_link != phydev->link) { in r6040_adjust_link()
982 lp->old_link = phydev->link; in r6040_adjust_link()
986 if (phydev->link && (lp->old_duplex != phydev->duplex)) { in r6040_adjust_link()
987 lp->mcr0 |= (phydev->duplex == DUPLEX_FULL ? MCR0_FD : 0); in r6040_adjust_link()
988 iowrite16(lp->mcr0, ioaddr); in r6040_adjust_link()
991 lp->old_duplex = phydev->duplex; in r6040_adjust_link()
1000 struct r6040_private *lp = netdev_priv(dev); in r6040_mii_probe() local
1003 phydev = phy_find_first(lp->mii_bus); in r6040_mii_probe()
1005 dev_err(&lp->pdev->dev, "no PHY found\n"); in r6040_mii_probe()
1013 dev_err(&lp->pdev->dev, "could not attach to PHY\n"); in r6040_mii_probe()
1019 lp->old_link = 0; in r6040_mii_probe()
1020 lp->old_duplex = -1; in r6040_mii_probe()
1030 struct r6040_private *lp; in r6040_init_one() local
1070 lp = netdev_priv(dev); in r6040_init_one()
1096 lp->base = ioaddr; in r6040_init_one()
1099 spin_lock_init(&lp->lock); in r6040_init_one()
1119 lp->pdev = pdev; in r6040_init_one()
1120 lp->dev = dev; in r6040_init_one()
1123 lp->mcr0 = MCR0_XMTEN | MCR0_RCVEN; in r6040_init_one()
1130 netif_napi_add(dev, &lp->napi, r6040_poll); in r6040_init_one()
1132 lp->mii_bus = mdiobus_alloc(); in r6040_init_one()
1133 if (!lp->mii_bus) { in r6040_init_one()
1139 lp->mii_bus->priv = dev; in r6040_init_one()
1140 lp->mii_bus->read = r6040_mdiobus_read; in r6040_init_one()
1141 lp->mii_bus->write = r6040_mdiobus_write; in r6040_init_one()
1142 lp->mii_bus->name = "r6040_eth_mii"; in r6040_init_one()
1143 snprintf(lp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", in r6040_init_one()
1146 err = mdiobus_register(lp->mii_bus); in r6040_init_one()
1169 mdiobus_unregister(lp->mii_bus); in r6040_init_one()
1171 mdiobus_free(lp->mii_bus); in r6040_init_one()
1173 netif_napi_del(&lp->napi); in r6040_init_one()
1188 struct r6040_private *lp = netdev_priv(dev); in r6040_remove_one() local
1192 mdiobus_unregister(lp->mii_bus); in r6040_remove_one()
1193 mdiobus_free(lp->mii_bus); in r6040_remove_one()
1194 netif_napi_del(&lp->napi); in r6040_remove_one()
1195 pci_iounmap(pdev, lp->base); in r6040_remove_one()