pldat 420 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_set_mac(struct netdata_local *pldat, u8 *mac) pldat 426 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_SA2(pldat->net_base)); pldat 428 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_SA1(pldat->net_base)); pldat 430 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_SA0(pldat->net_base)); pldat 432 drivers/net/ethernet/nxp/lpc_eth.c netdev_dbg(pldat->ndev, "Ethernet MAC address %pM\n", mac); pldat 435 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_get_mac(struct netdata_local *pldat, u8 *mac) pldat 440 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_SA2(pldat->net_base)); pldat 443 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_SA1(pldat->net_base)); pldat 446 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_SA0(pldat->net_base)); pldat 451 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_params_setup(struct netdata_local *pldat) pldat 455 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->duplex == DUPLEX_FULL) { pldat 456 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_MAC2(pldat->net_base)); pldat 458 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_MAC2(pldat->net_base)); pldat 459 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_COMMAND(pldat->net_base)); pldat 461 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_COMMAND(pldat->net_base)); pldat 462 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_IPGT_LOAD(0x15), LPC_ENET_IPGT(pldat->net_base)); pldat 464 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_MAC2(pldat->net_base)); pldat 466 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_MAC2(pldat->net_base)); pldat 467 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_COMMAND(pldat->net_base)); pldat 469 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_COMMAND(pldat->net_base)); pldat 470 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_IPGT_LOAD(0x12), LPC_ENET_IPGT(pldat->net_base)); pldat 473 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->speed == SPEED_100) pldat 474 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_SUPP_SPEED, LPC_ENET_SUPP(pldat->net_base)); pldat 476 drivers/net/ethernet/nxp/lpc_eth.c writel(0, LPC_ENET_SUPP(pldat->net_base)); pldat 479 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_eth_reset(struct netdata_local *pldat) pldat 484 drivers/net/ethernet/nxp/lpc_eth.c LPC_MAC1_SOFT_RESET), LPC_ENET_MAC1(pldat->net_base)); pldat 486 drivers/net/ethernet/nxp/lpc_eth.c LPC_COMMAND_RXRESET), LPC_ENET_COMMAND(pldat->net_base)); pldat 489 drivers/net/ethernet/nxp/lpc_eth.c static int __lpc_mii_mngt_reset(struct netdata_local *pldat) pldat 492 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_MCFG_RESET_MII_MGMT, LPC_ENET_MCFG(pldat->net_base)); pldat 496 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_MCFG(pldat->net_base)); pldat 501 drivers/net/ethernet/nxp/lpc_eth.c static inline phys_addr_t __va_to_pa(void *addr, struct netdata_local *pldat) pldat 505 drivers/net/ethernet/nxp/lpc_eth.c phaddr = addr - pldat->dma_buff_base_v; pldat 506 drivers/net/ethernet/nxp/lpc_eth.c phaddr += pldat->dma_buff_base_p; pldat 523 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_txrx_desc_setup(struct netdata_local *pldat) pldat 531 drivers/net/ethernet/nxp/lpc_eth.c tbuff = PTR_ALIGN(pldat->dma_buff_base_v, 16); pldat 534 drivers/net/ethernet/nxp/lpc_eth.c pldat->tx_desc_v = tbuff; pldat 537 drivers/net/ethernet/nxp/lpc_eth.c pldat->tx_stat_v = tbuff; pldat 541 drivers/net/ethernet/nxp/lpc_eth.c pldat->tx_buff_v = tbuff; pldat 545 drivers/net/ethernet/nxp/lpc_eth.c pldat->rx_desc_v = tbuff; pldat 549 drivers/net/ethernet/nxp/lpc_eth.c pldat->rx_stat_v = tbuff; pldat 553 drivers/net/ethernet/nxp/lpc_eth.c pldat->rx_buff_v = tbuff; pldat 558 drivers/net/ethernet/nxp/lpc_eth.c ptxstat = &pldat->tx_stat_v[i]; pldat 559 drivers/net/ethernet/nxp/lpc_eth.c ptxrxdesc = &pldat->tx_desc_v[i]; pldat 562 drivers/net/ethernet/nxp/lpc_eth.c pldat->tx_buff_v + i * ENET_MAXF_SIZE, pldat); pldat 569 drivers/net/ethernet/nxp/lpc_eth.c prxstat = &pldat->rx_stat_v[i]; pldat 570 drivers/net/ethernet/nxp/lpc_eth.c ptxrxdesc = &pldat->rx_desc_v[i]; pldat 573 drivers/net/ethernet/nxp/lpc_eth.c pldat->rx_buff_v + i * ENET_MAXF_SIZE, pldat); pldat 583 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_TXDESCRIPTORNUMBER(pldat->net_base)); pldat 584 drivers/net/ethernet/nxp/lpc_eth.c writel(__va_to_pa(pldat->tx_desc_v, pldat), pldat 585 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_TXDESCRIPTOR(pldat->net_base)); pldat 586 drivers/net/ethernet/nxp/lpc_eth.c writel(__va_to_pa(pldat->tx_stat_v, pldat), pldat 587 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_TXSTATUS(pldat->net_base)); pldat 589 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_RXDESCRIPTORNUMBER(pldat->net_base)); pldat 590 drivers/net/ethernet/nxp/lpc_eth.c writel(__va_to_pa(pldat->rx_desc_v, pldat), pldat 591 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_RXDESCRIPTOR(pldat->net_base)); pldat 592 drivers/net/ethernet/nxp/lpc_eth.c writel(__va_to_pa(pldat->rx_stat_v, pldat), pldat 593 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_RXSTATUS(pldat->net_base)); pldat 596 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_eth_init(struct netdata_local *pldat) pldat 601 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_COMMAND(pldat->net_base)); pldat 603 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_COMMAND(pldat->net_base)); pldat 604 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_MAC1(pldat->net_base)); pldat 606 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_MAC1(pldat->net_base)); pldat 609 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_MAC1_PASS_ALL_RX_FRAMES, LPC_ENET_MAC1(pldat->net_base)); pldat 611 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_MAC2(pldat->net_base)); pldat 612 drivers/net/ethernet/nxp/lpc_eth.c writel(ENET_MAXF_SIZE, LPC_ENET_MAXF(pldat->net_base)); pldat 617 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_CLRT(pldat->net_base)); pldat 618 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_IPGR_LOAD_PART2(0x12), LPC_ENET_IPGR(pldat->net_base)); pldat 620 drivers/net/ethernet/nxp/lpc_eth.c if (lpc_phy_interface_mode(&pldat->pdev->dev) == PHY_INTERFACE_MODE_MII) pldat 622 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_COMMAND(pldat->net_base)); pldat 625 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_COMMAND(pldat->net_base)); pldat 626 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_SUPP_RESET_RMII, LPC_ENET_SUPP(pldat->net_base)); pldat 629 drivers/net/ethernet/nxp/lpc_eth.c __lpc_params_setup(pldat); pldat 632 drivers/net/ethernet/nxp/lpc_eth.c __lpc_txrx_desc_setup(pldat); pldat 636 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_RXFILTER_CTRL(pldat->net_base)); pldat 639 drivers/net/ethernet/nxp/lpc_eth.c pldat->num_used_tx_buffs = 0; pldat 640 drivers/net/ethernet/nxp/lpc_eth.c pldat->last_tx_idx = pldat 641 drivers/net/ethernet/nxp/lpc_eth.c readl(LPC_ENET_TXCONSUMEINDEX(pldat->net_base)); pldat 644 drivers/net/ethernet/nxp/lpc_eth.c writel(0xFFFF, LPC_ENET_INTCLEAR(pldat->net_base)); pldat 646 drivers/net/ethernet/nxp/lpc_eth.c lpc_eth_enable_int(pldat->net_base); pldat 649 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_COMMAND(pldat->net_base)); pldat 651 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_COMMAND(pldat->net_base)); pldat 652 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_MAC1(pldat->net_base)); pldat 654 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_MAC1(pldat->net_base)); pldat 657 drivers/net/ethernet/nxp/lpc_eth.c static void __lpc_eth_shutdown(struct netdata_local *pldat) pldat 660 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_reset(pldat); pldat 661 drivers/net/ethernet/nxp/lpc_eth.c writel(0, LPC_ENET_MAC1(pldat->net_base)); pldat 662 drivers/net/ethernet/nxp/lpc_eth.c writel(0, LPC_ENET_MAC2(pldat->net_base)); pldat 670 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = bus->priv; pldat 674 drivers/net/ethernet/nxp/lpc_eth.c writel(((phy_id << 8) | phyreg), LPC_ENET_MADR(pldat->net_base)); pldat 675 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_MCMD_READ, LPC_ENET_MCMD(pldat->net_base)); pldat 678 drivers/net/ethernet/nxp/lpc_eth.c while (readl(LPC_ENET_MIND(pldat->net_base)) & LPC_MIND_BUSY) { pldat 684 drivers/net/ethernet/nxp/lpc_eth.c lps = readl(LPC_ENET_MRDD(pldat->net_base)); pldat 685 drivers/net/ethernet/nxp/lpc_eth.c writel(0, LPC_ENET_MCMD(pldat->net_base)); pldat 693 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = bus->priv; pldat 696 drivers/net/ethernet/nxp/lpc_eth.c writel(((phy_id << 8) | phyreg), LPC_ENET_MADR(pldat->net_base)); pldat 697 drivers/net/ethernet/nxp/lpc_eth.c writel(phydata, LPC_ENET_MWTD(pldat->net_base)); pldat 700 drivers/net/ethernet/nxp/lpc_eth.c while (readl(LPC_ENET_MIND(pldat->net_base)) & LPC_MIND_BUSY) { pldat 716 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 722 drivers/net/ethernet/nxp/lpc_eth.c spin_lock_irqsave(&pldat->lock, flags); pldat 725 drivers/net/ethernet/nxp/lpc_eth.c if ((pldat->speed != phydev->speed) || pldat 726 drivers/net/ethernet/nxp/lpc_eth.c (pldat->duplex != phydev->duplex)) { pldat 727 drivers/net/ethernet/nxp/lpc_eth.c pldat->speed = phydev->speed; pldat 728 drivers/net/ethernet/nxp/lpc_eth.c pldat->duplex = phydev->duplex; pldat 733 drivers/net/ethernet/nxp/lpc_eth.c if (phydev->link != pldat->link) { pldat 735 drivers/net/ethernet/nxp/lpc_eth.c pldat->speed = 0; pldat 736 drivers/net/ethernet/nxp/lpc_eth.c pldat->duplex = -1; pldat 738 drivers/net/ethernet/nxp/lpc_eth.c pldat->link = phydev->link; pldat 743 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock_irqrestore(&pldat->lock, flags); pldat 746 drivers/net/ethernet/nxp/lpc_eth.c __lpc_params_setup(pldat); pldat 751 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 752 drivers/net/ethernet/nxp/lpc_eth.c struct phy_device *phydev = phy_find_first(pldat->mii_bus); pldat 760 drivers/net/ethernet/nxp/lpc_eth.c if (lpc_phy_interface_mode(&pldat->pdev->dev) == PHY_INTERFACE_MODE_MII) pldat 766 drivers/net/ethernet/nxp/lpc_eth.c lpc_phy_interface_mode(&pldat->pdev->dev)); pldat 775 drivers/net/ethernet/nxp/lpc_eth.c pldat->link = 0; pldat 776 drivers/net/ethernet/nxp/lpc_eth.c pldat->speed = 0; pldat 777 drivers/net/ethernet/nxp/lpc_eth.c pldat->duplex = -1; pldat 784 drivers/net/ethernet/nxp/lpc_eth.c static int lpc_mii_init(struct netdata_local *pldat) pldat 788 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus = mdiobus_alloc(); pldat 789 drivers/net/ethernet/nxp/lpc_eth.c if (!pldat->mii_bus) { pldat 795 drivers/net/ethernet/nxp/lpc_eth.c if (lpc_phy_interface_mode(&pldat->pdev->dev) == PHY_INTERFACE_MODE_MII) pldat 797 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_COMMAND(pldat->net_base)); pldat 800 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_COMMAND(pldat->net_base)); pldat 801 drivers/net/ethernet/nxp/lpc_eth.c writel(LPC_SUPP_RESET_RMII, LPC_ENET_SUPP(pldat->net_base)); pldat 804 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus->name = "lpc_mii_bus"; pldat 805 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus->read = &lpc_mdio_read; pldat 806 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus->write = &lpc_mdio_write; pldat 807 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus->reset = &lpc_mdio_reset; pldat 808 drivers/net/ethernet/nxp/lpc_eth.c snprintf(pldat->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", pldat 809 drivers/net/ethernet/nxp/lpc_eth.c pldat->pdev->name, pldat->pdev->id); pldat 810 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus->priv = pldat; pldat 811 drivers/net/ethernet/nxp/lpc_eth.c pldat->mii_bus->parent = &pldat->pdev->dev; pldat 813 drivers/net/ethernet/nxp/lpc_eth.c platform_set_drvdata(pldat->pdev, pldat->mii_bus); pldat 815 drivers/net/ethernet/nxp/lpc_eth.c if (mdiobus_register(pldat->mii_bus)) pldat 818 drivers/net/ethernet/nxp/lpc_eth.c if (lpc_mii_probe(pldat->ndev) != 0) pldat 824 drivers/net/ethernet/nxp/lpc_eth.c mdiobus_unregister(pldat->mii_bus); pldat 825 drivers/net/ethernet/nxp/lpc_eth.c mdiobus_free(pldat->mii_bus); pldat 832 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 835 drivers/net/ethernet/nxp/lpc_eth.c txcidx = readl(LPC_ENET_TXCONSUMEINDEX(pldat->net_base)); pldat 836 drivers/net/ethernet/nxp/lpc_eth.c while (pldat->last_tx_idx != txcidx) { pldat 837 drivers/net/ethernet/nxp/lpc_eth.c unsigned int skblen = pldat->skblen[pldat->last_tx_idx]; pldat 840 drivers/net/ethernet/nxp/lpc_eth.c ptxstat = &pldat->tx_stat_v[pldat->last_tx_idx]; pldat 844 drivers/net/ethernet/nxp/lpc_eth.c pldat->num_used_tx_buffs--; pldat 845 drivers/net/ethernet/nxp/lpc_eth.c pldat->last_tx_idx++; pldat 846 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->last_tx_idx >= ENET_TX_DESC) pldat 847 drivers/net/ethernet/nxp/lpc_eth.c pldat->last_tx_idx = 0; pldat 877 drivers/net/ethernet/nxp/lpc_eth.c txcidx = readl(LPC_ENET_TXCONSUMEINDEX(pldat->net_base)); pldat 880 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->num_used_tx_buffs <= ENET_TX_DESC/2) { pldat 888 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 895 drivers/net/ethernet/nxp/lpc_eth.c rxconsidx = readl(LPC_ENET_RXCONSUMEINDEX(pldat->net_base)); pldat 897 drivers/net/ethernet/nxp/lpc_eth.c readl(LPC_ENET_RXPRODUCEINDEX(pldat->net_base))) { pldat 899 drivers/net/ethernet/nxp/lpc_eth.c prxstat = &pldat->rx_stat_v[rxconsidx]; pldat 933 drivers/net/ethernet/nxp/lpc_eth.c pldat->rx_buff_v + rxconsidx * ENET_MAXF_SIZE, pldat 949 drivers/net/ethernet/nxp/lpc_eth.c LPC_ENET_RXCONSUMEINDEX(pldat->net_base)); pldat 958 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = container_of(napi, pldat 960 drivers/net/ethernet/nxp/lpc_eth.c struct net_device *ndev = pldat->ndev; pldat 971 drivers/net/ethernet/nxp/lpc_eth.c lpc_eth_enable_int(pldat->net_base); pldat 980 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 983 drivers/net/ethernet/nxp/lpc_eth.c spin_lock(&pldat->lock); pldat 985 drivers/net/ethernet/nxp/lpc_eth.c tmp = readl(LPC_ENET_INTSTATUS(pldat->net_base)); pldat 987 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp, LPC_ENET_INTCLEAR(pldat->net_base)); pldat 989 drivers/net/ethernet/nxp/lpc_eth.c lpc_eth_disable_int(pldat->net_base); pldat 990 drivers/net/ethernet/nxp/lpc_eth.c if (likely(napi_schedule_prep(&pldat->napi))) pldat 991 drivers/net/ethernet/nxp/lpc_eth.c __napi_schedule(&pldat->napi); pldat 993 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock(&pldat->lock); pldat 1001 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1003 drivers/net/ethernet/nxp/lpc_eth.c if (netif_msg_ifdown(pldat)) pldat 1004 drivers/net/ethernet/nxp/lpc_eth.c dev_dbg(&pldat->pdev->dev, "shutting down %s\n", ndev->name); pldat 1006 drivers/net/ethernet/nxp/lpc_eth.c napi_disable(&pldat->napi); pldat 1012 drivers/net/ethernet/nxp/lpc_eth.c spin_lock_irqsave(&pldat->lock, flags); pldat 1013 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_reset(pldat); pldat 1015 drivers/net/ethernet/nxp/lpc_eth.c writel(0, LPC_ENET_MAC1(pldat->net_base)); pldat 1016 drivers/net/ethernet/nxp/lpc_eth.c writel(0, LPC_ENET_MAC2(pldat->net_base)); pldat 1017 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock_irqrestore(&pldat->lock, flags); pldat 1019 drivers/net/ethernet/nxp/lpc_eth.c clk_disable_unprepare(pldat->clk); pldat 1026 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1033 drivers/net/ethernet/nxp/lpc_eth.c spin_lock_irq(&pldat->lock); pldat 1035 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->num_used_tx_buffs >= (ENET_TX_DESC - 1)) { pldat 1039 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock_irq(&pldat->lock); pldat 1045 drivers/net/ethernet/nxp/lpc_eth.c txidx = readl(LPC_ENET_TXPRODUCEINDEX(pldat->net_base)); pldat 1048 drivers/net/ethernet/nxp/lpc_eth.c ptxstat = &pldat->tx_stat_v[txidx]; pldat 1050 drivers/net/ethernet/nxp/lpc_eth.c ptxrxdesc = &pldat->tx_desc_v[txidx]; pldat 1055 drivers/net/ethernet/nxp/lpc_eth.c memcpy(pldat->tx_buff_v + txidx * ENET_MAXF_SIZE, skb->data, len); pldat 1058 drivers/net/ethernet/nxp/lpc_eth.c pldat->skblen[txidx] = len; pldat 1059 drivers/net/ethernet/nxp/lpc_eth.c pldat->num_used_tx_buffs++; pldat 1065 drivers/net/ethernet/nxp/lpc_eth.c writel(txidx, LPC_ENET_TXPRODUCEINDEX(pldat->net_base)); pldat 1068 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->num_used_tx_buffs >= (ENET_TX_DESC - 1)) pldat 1071 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock_irq(&pldat->lock); pldat 1080 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1087 drivers/net/ethernet/nxp/lpc_eth.c spin_lock_irqsave(&pldat->lock, flags); pldat 1090 drivers/net/ethernet/nxp/lpc_eth.c __lpc_set_mac(pldat, ndev->dev_addr); pldat 1092 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock_irqrestore(&pldat->lock, flags); pldat 1099 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1105 drivers/net/ethernet/nxp/lpc_eth.c spin_lock_irqsave(&pldat->lock, flags); pldat 1108 drivers/net/ethernet/nxp/lpc_eth.c __lpc_set_mac(pldat, ndev->dev_addr); pldat 1121 drivers/net/ethernet/nxp/lpc_eth.c writel(tmp32, LPC_ENET_RXFILTER_CTRL(pldat->net_base)); pldat 1138 drivers/net/ethernet/nxp/lpc_eth.c writel(hashlo, LPC_ENET_HASHFILTERL(pldat->net_base)); pldat 1139 drivers/net/ethernet/nxp/lpc_eth.c writel(hashhi, LPC_ENET_HASHFILTERH(pldat->net_base)); pldat 1141 drivers/net/ethernet/nxp/lpc_eth.c spin_unlock_irqrestore(&pldat->lock, flags); pldat 1159 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1162 drivers/net/ethernet/nxp/lpc_eth.c if (netif_msg_ifup(pldat)) pldat 1163 drivers/net/ethernet/nxp/lpc_eth.c dev_dbg(&pldat->pdev->dev, "enabling %s\n", ndev->name); pldat 1165 drivers/net/ethernet/nxp/lpc_eth.c ret = clk_prepare_enable(pldat->clk); pldat 1173 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_reset(pldat); pldat 1174 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_init(pldat); pldat 1179 drivers/net/ethernet/nxp/lpc_eth.c napi_enable(&pldat->napi); pldat 1198 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1200 drivers/net/ethernet/nxp/lpc_eth.c return pldat->msg_enable; pldat 1205 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1207 drivers/net/ethernet/nxp/lpc_eth.c pldat->msg_enable = level; pldat 1233 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat; pldat 1261 drivers/net/ethernet/nxp/lpc_eth.c pldat = netdev_priv(ndev); pldat 1262 drivers/net/ethernet/nxp/lpc_eth.c pldat->pdev = pdev; pldat 1263 drivers/net/ethernet/nxp/lpc_eth.c pldat->ndev = ndev; pldat 1265 drivers/net/ethernet/nxp/lpc_eth.c spin_lock_init(&pldat->lock); pldat 1271 drivers/net/ethernet/nxp/lpc_eth.c pldat->clk = clk_get(dev, NULL); pldat 1272 drivers/net/ethernet/nxp/lpc_eth.c if (IS_ERR(pldat->clk)) { pldat 1274 drivers/net/ethernet/nxp/lpc_eth.c ret = PTR_ERR(pldat->clk); pldat 1279 drivers/net/ethernet/nxp/lpc_eth.c ret = clk_prepare_enable(pldat->clk); pldat 1284 drivers/net/ethernet/nxp/lpc_eth.c pldat->net_base = ioremap(res->start, resource_size(res)); pldat 1285 drivers/net/ethernet/nxp/lpc_eth.c if (!pldat->net_base) { pldat 1303 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_size = (ENET_TX_DESC + ENET_RX_DESC) * (ENET_MAXF_SIZE + pldat 1307 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->dma_buff_size > pldat 1308 drivers/net/ethernet/nxp/lpc_eth.c lpc32xx_return_iram(&pldat->dma_buff_base_v, &dma_handle)) { pldat 1309 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_v = NULL; pldat 1310 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_size = 0; pldat 1316 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->dma_buff_base_v == NULL) { pldat 1321 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_size = PAGE_ALIGN(pldat->dma_buff_size); pldat 1325 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_v = pldat 1327 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_size, &dma_handle, pldat 1329 drivers/net/ethernet/nxp/lpc_eth.c if (pldat->dma_buff_base_v == NULL) { pldat 1334 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_p = dma_handle; pldat 1340 drivers/net/ethernet/nxp/lpc_eth.c pldat->net_base); pldat 1342 drivers/net/ethernet/nxp/lpc_eth.c netdev_dbg(ndev, "DMA buffer size :%zd\n", pldat->dma_buff_size); pldat 1344 drivers/net/ethernet/nxp/lpc_eth.c &pldat->dma_buff_base_p); pldat 1346 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_v); pldat 1349 drivers/net/ethernet/nxp/lpc_eth.c __lpc_get_mac(pldat, ndev->dev_addr); pldat 1360 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_shutdown(pldat); pldat 1363 drivers/net/ethernet/nxp/lpc_eth.c pldat->msg_enable = NETIF_MSG_LINK; pldat 1366 drivers/net/ethernet/nxp/lpc_eth.c __lpc_mii_mngt_reset(pldat); pldat 1370 drivers/net/ethernet/nxp/lpc_eth.c pldat->link = 0; pldat 1371 drivers/net/ethernet/nxp/lpc_eth.c pldat->speed = 100; pldat 1372 drivers/net/ethernet/nxp/lpc_eth.c pldat->duplex = DUPLEX_FULL; pldat 1373 drivers/net/ethernet/nxp/lpc_eth.c __lpc_params_setup(pldat); pldat 1375 drivers/net/ethernet/nxp/lpc_eth.c netif_napi_add(ndev, &pldat->napi, lpc_eth_poll, NAPI_WEIGHT); pldat 1384 drivers/net/ethernet/nxp/lpc_eth.c ret = lpc_mii_init(pldat); pldat 1400 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_size > lpc32xx_return_iram(NULL, NULL)) pldat 1401 drivers/net/ethernet/nxp/lpc_eth.c dma_free_coherent(dev, pldat->dma_buff_size, pldat 1402 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_v, pldat 1403 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_p); pldat 1407 drivers/net/ethernet/nxp/lpc_eth.c iounmap(pldat->net_base); pldat 1409 drivers/net/ethernet/nxp/lpc_eth.c clk_disable_unprepare(pldat->clk); pldat 1411 drivers/net/ethernet/nxp/lpc_eth.c clk_put(pldat->clk); pldat 1422 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1426 drivers/net/ethernet/nxp/lpc_eth.c if (!use_iram_for_net(&pldat->pdev->dev) || pldat 1427 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_size > lpc32xx_return_iram(NULL, NULL)) pldat 1428 drivers/net/ethernet/nxp/lpc_eth.c dma_free_coherent(&pldat->pdev->dev, pldat->dma_buff_size, pldat 1429 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_v, pldat 1430 drivers/net/ethernet/nxp/lpc_eth.c pldat->dma_buff_base_p); pldat 1432 drivers/net/ethernet/nxp/lpc_eth.c iounmap(pldat->net_base); pldat 1433 drivers/net/ethernet/nxp/lpc_eth.c mdiobus_unregister(pldat->mii_bus); pldat 1434 drivers/net/ethernet/nxp/lpc_eth.c mdiobus_free(pldat->mii_bus); pldat 1435 drivers/net/ethernet/nxp/lpc_eth.c clk_disable_unprepare(pldat->clk); pldat 1436 drivers/net/ethernet/nxp/lpc_eth.c clk_put(pldat->clk); pldat 1447 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat = netdev_priv(ndev); pldat 1455 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_shutdown(pldat); pldat 1456 drivers/net/ethernet/nxp/lpc_eth.c clk_disable_unprepare(pldat->clk); pldat 1462 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_reset(pldat); pldat 1472 drivers/net/ethernet/nxp/lpc_eth.c struct netdata_local *pldat; pldat 1479 drivers/net/ethernet/nxp/lpc_eth.c pldat = netdev_priv(ndev); pldat 1482 drivers/net/ethernet/nxp/lpc_eth.c clk_enable(pldat->clk); pldat 1485 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_reset(pldat); pldat 1486 drivers/net/ethernet/nxp/lpc_eth.c __lpc_eth_init(pldat);