Lines Matching refs:lp

257 	struct r6040_private *lp = netdev_priv(dev);  in r6040_mdiobus_read()  local
258 void __iomem *ioaddr = lp->base; in r6040_mdiobus_read()
267 struct r6040_private *lp = netdev_priv(dev); in r6040_mdiobus_write() local
268 void __iomem *ioaddr = lp->base; in r6040_mdiobus_write()
275 struct r6040_private *lp = netdev_priv(dev); in r6040_free_txbufs() local
279 if (lp->tx_insert_ptr->skb_ptr) { in r6040_free_txbufs()
280 pci_unmap_single(lp->pdev, in r6040_free_txbufs()
281 le32_to_cpu(lp->tx_insert_ptr->buf), in r6040_free_txbufs()
283 dev_kfree_skb(lp->tx_insert_ptr->skb_ptr); in r6040_free_txbufs()
284 lp->tx_insert_ptr->skb_ptr = NULL; in r6040_free_txbufs()
286 lp->tx_insert_ptr = lp->tx_insert_ptr->vndescp; in r6040_free_txbufs()
292 struct r6040_private *lp = netdev_priv(dev); in r6040_free_rxbufs() local
296 if (lp->rx_insert_ptr->skb_ptr) { in r6040_free_rxbufs()
297 pci_unmap_single(lp->pdev, in r6040_free_rxbufs()
298 le32_to_cpu(lp->rx_insert_ptr->buf), in r6040_free_rxbufs()
300 dev_kfree_skb(lp->rx_insert_ptr->skb_ptr); in r6040_free_rxbufs()
301 lp->rx_insert_ptr->skb_ptr = NULL; in r6040_free_rxbufs()
303 lp->rx_insert_ptr = lp->rx_insert_ptr->vndescp; in r6040_free_rxbufs()
326 struct r6040_private *lp = netdev_priv(dev); in r6040_init_txbufs() local
328 lp->tx_free_desc = TX_DCNT; in r6040_init_txbufs()
330 lp->tx_remove_ptr = lp->tx_insert_ptr = lp->tx_ring; in r6040_init_txbufs()
331 r6040_init_ring_desc(lp->tx_ring, lp->tx_ring_dma, TX_DCNT); in r6040_init_txbufs()
336 struct r6040_private *lp = netdev_priv(dev); in r6040_alloc_rxbufs() local
341 lp->rx_remove_ptr = lp->rx_insert_ptr = lp->rx_ring; in r6040_alloc_rxbufs()
342 r6040_init_ring_desc(lp->rx_ring, lp->rx_ring_dma, RX_DCNT); in r6040_alloc_rxbufs()
345 desc = lp->rx_ring; in r6040_alloc_rxbufs()
353 desc->buf = cpu_to_le32(pci_map_single(lp->pdev, in r6040_alloc_rxbufs()
358 } while (desc != lp->rx_ring); in r6040_alloc_rxbufs()
368 static void r6040_reset_mac(struct r6040_private *lp) in r6040_reset_mac() argument
370 void __iomem *ioaddr = lp->base; in r6040_reset_mac()
389 struct r6040_private *lp = netdev_priv(dev); in r6040_init_mac_regs() local
390 void __iomem *ioaddr = lp->base; in r6040_init_mac_regs()
396 r6040_reset_mac(lp); in r6040_init_mac_regs()
405 iowrite16(lp->tx_ring_dma, ioaddr + MTD_SA0); in r6040_init_mac_regs()
406 iowrite16(lp->tx_ring_dma >> 16, ioaddr + MTD_SA1); in r6040_init_mac_regs()
409 iowrite16(lp->rx_ring_dma, ioaddr + MRD_SA0); in r6040_init_mac_regs()
410 iowrite16(lp->rx_ring_dma >> 16, ioaddr + MRD_SA1); in r6040_init_mac_regs()
420 iowrite16(lp->mcr0 | MCR0_RCVEN, ioaddr); in r6040_init_mac_regs()
461 struct r6040_private *lp = netdev_priv(dev); in r6040_down() local
462 void __iomem *ioaddr = lp->base; in r6040_down()
469 r6040_reset_mac(lp); in r6040_down()
477 phy_stop(lp->phydev); in r6040_down()
482 struct r6040_private *lp = netdev_priv(dev); in r6040_close() local
483 struct pci_dev *pdev = lp->pdev; in r6040_close()
485 spin_lock_irq(&lp->lock); in r6040_close()
486 napi_disable(&lp->napi); in r6040_close()
498 spin_unlock_irq(&lp->lock); in r6040_close()
501 if (lp->rx_ring) { in r6040_close()
503 RX_DESC_SIZE, lp->rx_ring, lp->rx_ring_dma); in r6040_close()
504 lp->rx_ring = NULL; in r6040_close()
507 if (lp->tx_ring) { in r6040_close()
509 TX_DESC_SIZE, lp->tx_ring, lp->tx_ring_dma); in r6040_close()
510 lp->tx_ring = NULL; in r6040_close()
518 struct r6040_private *lp = netdev_priv(dev); in r6040_ioctl() local
520 if (!lp->phydev) in r6040_ioctl()
523 return phy_mii_ioctl(lp->phydev, rq, cmd); in r6040_ioctl()
658 struct r6040_private *lp = netdev_priv(dev); in r6040_interrupt() local
659 void __iomem *ioaddr = lp->base; in r6040_interrupt()
685 if (likely(napi_schedule_prep(&lp->napi))) { in r6040_interrupt()
688 __napi_schedule(&lp->napi); in r6040_interrupt()
714 struct r6040_private *lp = netdev_priv(dev); in r6040_up() local
715 void __iomem *ioaddr = lp->base; in r6040_up()
735 phy_start(lp->phydev); in r6040_up()
744 struct r6040_private *lp = netdev_priv(dev); in r6040_mac_address() local
745 void __iomem *ioaddr = lp->base; in r6040_mac_address()
749 r6040_reset_mac(lp); in r6040_mac_address()
760 struct r6040_private *lp = netdev_priv(dev); in r6040_open() local
773 lp->rx_ring = in r6040_open()
774 pci_alloc_consistent(lp->pdev, RX_DESC_SIZE, &lp->rx_ring_dma); in r6040_open()
775 if (!lp->rx_ring) { in r6040_open()
780 lp->tx_ring = in r6040_open()
781 pci_alloc_consistent(lp->pdev, TX_DESC_SIZE, &lp->tx_ring_dma); in r6040_open()
782 if (!lp->tx_ring) { in r6040_open()
791 napi_enable(&lp->napi); in r6040_open()
797 pci_free_consistent(lp->pdev, TX_DESC_SIZE, lp->tx_ring, in r6040_open()
798 lp->tx_ring_dma); in r6040_open()
800 pci_free_consistent(lp->pdev, RX_DESC_SIZE, lp->rx_ring, in r6040_open()
801 lp->rx_ring_dma); in r6040_open()
811 struct r6040_private *lp = netdev_priv(dev); in r6040_start_xmit() local
813 void __iomem *ioaddr = lp->base; in r6040_start_xmit()
817 spin_lock_irqsave(&lp->lock, flags); in r6040_start_xmit()
820 if (!lp->tx_free_desc) { in r6040_start_xmit()
821 spin_unlock_irqrestore(&lp->lock, flags); in r6040_start_xmit()
831 lp->tx_free_desc--; in r6040_start_xmit()
832 descptr = lp->tx_insert_ptr; in r6040_start_xmit()
839 descptr->buf = cpu_to_le32(pci_map_single(lp->pdev, in r6040_start_xmit()
847 lp->tx_insert_ptr = descptr->vndescp; in r6040_start_xmit()
850 if (!lp->tx_free_desc) in r6040_start_xmit()
853 spin_unlock_irqrestore(&lp->lock, flags); in r6040_start_xmit()
860 struct r6040_private *lp = netdev_priv(dev); in r6040_multicast_list() local
861 void __iomem *ioaddr = lp->base; in r6040_multicast_list()
868 spin_lock_irqsave(&lp->lock, flags); in r6040_multicast_list()
877 lp->mcr0 = ioread16(ioaddr + MCR0) & ~(MCR0_PROMISC | MCR0_HASH_EN); in r6040_multicast_list()
881 lp->mcr0 |= MCR0_PROMISC; in r6040_multicast_list()
886 lp->mcr0 |= MCR0_HASH_EN; in r6040_multicast_list()
919 lp->mcr0 |= MCR0_HASH_EN; in r6040_multicast_list()
937 iowrite16(lp->mcr0, ioaddr + MCR0); in r6040_multicast_list()
940 if (lp->mcr0 & MCR0_HASH_EN) { in r6040_multicast_list()
947 spin_unlock_irqrestore(&lp->lock, flags); in r6040_multicast_list()
1000 struct r6040_private *lp = netdev_priv(dev); in r6040_adjust_link() local
1001 struct phy_device *phydev = lp->phydev; in r6040_adjust_link()
1003 void __iomem *ioaddr = lp->base; in r6040_adjust_link()
1007 if (lp->old_link != phydev->link) { in r6040_adjust_link()
1009 lp->old_link = phydev->link; in r6040_adjust_link()
1013 if (phydev->link && (lp->old_duplex != phydev->duplex)) { in r6040_adjust_link()
1014 lp->mcr0 |= (phydev->duplex == DUPLEX_FULL ? MCR0_FD : 0); in r6040_adjust_link()
1015 iowrite16(lp->mcr0, ioaddr); in r6040_adjust_link()
1018 lp->old_duplex = phydev->duplex; in r6040_adjust_link()
1033 struct r6040_private *lp = netdev_priv(dev); in r6040_mii_probe() local
1036 phydev = phy_find_first(lp->mii_bus); in r6040_mii_probe()
1038 dev_err(&lp->pdev->dev, "no PHY found\n"); in r6040_mii_probe()
1046 dev_err(&lp->pdev->dev, "could not attach to PHY\n"); in r6040_mii_probe()
1060 lp->phydev = phydev; in r6040_mii_probe()
1061 lp->old_link = 0; in r6040_mii_probe()
1062 lp->old_duplex = -1; in r6040_mii_probe()
1064 dev_info(&lp->pdev->dev, "attached PHY driver [%s] " in r6040_mii_probe()
1074 struct r6040_private *lp; in r6040_init_one() local
1117 lp = netdev_priv(dev); in r6040_init_one()
1143 lp->base = ioaddr; in r6040_init_one()
1146 spin_lock_init(&lp->lock); in r6040_init_one()
1166 lp->pdev = pdev; in r6040_init_one()
1167 lp->dev = dev; in r6040_init_one()
1170 lp->mcr0 = MCR0_XMTEN | MCR0_RCVEN; in r6040_init_one()
1177 netif_napi_add(dev, &lp->napi, r6040_poll, 64); in r6040_init_one()
1179 lp->mii_bus = mdiobus_alloc(); in r6040_init_one()
1180 if (!lp->mii_bus) { in r6040_init_one()
1186 lp->mii_bus->priv = dev; in r6040_init_one()
1187 lp->mii_bus->read = r6040_mdiobus_read; in r6040_init_one()
1188 lp->mii_bus->write = r6040_mdiobus_write; in r6040_init_one()
1189 lp->mii_bus->name = "r6040_eth_mii"; in r6040_init_one()
1190 snprintf(lp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", in r6040_init_one()
1192 lp->mii_bus->irq = kmalloc_array(PHY_MAX_ADDR, sizeof(int), GFP_KERNEL); in r6040_init_one()
1193 if (!lp->mii_bus->irq) { in r6040_init_one()
1199 lp->mii_bus->irq[i] = PHY_POLL; in r6040_init_one()
1201 err = mdiobus_register(lp->mii_bus); in r6040_init_one()
1222 mdiobus_unregister(lp->mii_bus); in r6040_init_one()
1224 kfree(lp->mii_bus->irq); in r6040_init_one()
1226 mdiobus_free(lp->mii_bus); in r6040_init_one()
1228 netif_napi_del(&lp->napi); in r6040_init_one()
1243 struct r6040_private *lp = netdev_priv(dev); in r6040_remove_one() local
1246 mdiobus_unregister(lp->mii_bus); in r6040_remove_one()
1247 kfree(lp->mii_bus->irq); in r6040_remove_one()
1248 mdiobus_free(lp->mii_bus); in r6040_remove_one()
1249 netif_napi_del(&lp->napi); in r6040_remove_one()
1250 pci_iounmap(pdev, lp->base); in r6040_remove_one()