pep 266 drivers/net/ethernet/marvell/pxa168_eth.c static int pxa168_init_hw(struct pxa168_eth_private *pep); pep 273 drivers/net/ethernet/marvell/pxa168_eth.c static inline u32 rdl(struct pxa168_eth_private *pep, int offset) pep 275 drivers/net/ethernet/marvell/pxa168_eth.c return readl_relaxed(pep->base + offset); pep 278 drivers/net/ethernet/marvell/pxa168_eth.c static inline void wrl(struct pxa168_eth_private *pep, int offset, u32 data) pep 280 drivers/net/ethernet/marvell/pxa168_eth.c writel_relaxed(data, pep->base + offset); pep 283 drivers/net/ethernet/marvell/pxa168_eth.c static void abort_dma(struct pxa168_eth_private *pep) pep 289 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, SDMA_CMD, SDMA_CMD_AR | SDMA_CMD_AT); pep 293 drivers/net/ethernet/marvell/pxa168_eth.c while ((rdl(pep, SDMA_CMD) & (SDMA_CMD_AR | SDMA_CMD_AT)) pep 300 drivers/net/ethernet/marvell/pxa168_eth.c netdev_err(pep->dev, "%s : DMA Stuck\n", __func__); pep 305 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 310 drivers/net/ethernet/marvell/pxa168_eth.c while (pep->rx_desc_count < pep->rx_ring_size) { pep 313 drivers/net/ethernet/marvell/pxa168_eth.c skb = netdev_alloc_skb(dev, pep->skb_size); pep 318 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_count++; pep 320 drivers/net/ethernet/marvell/pxa168_eth.c used_rx_desc = pep->rx_used_desc_q; pep 321 drivers/net/ethernet/marvell/pxa168_eth.c p_used_rx_desc = &pep->p_rx_desc_area[used_rx_desc]; pep 323 drivers/net/ethernet/marvell/pxa168_eth.c p_used_rx_desc->buf_ptr = dma_map_single(&pep->pdev->dev, pep 328 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_skb[used_rx_desc] = skb; pep 336 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_used_desc_q = (used_rx_desc + 1) % pep->rx_ring_size; pep 339 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_resource_err = 0; pep 348 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->rx_desc_count == 0) { pep 349 drivers/net/ethernet/marvell/pxa168_eth.c pep->timeout.expires = jiffies + (HZ / 10); pep 350 drivers/net/ethernet/marvell/pxa168_eth.c add_timer(&pep->timeout); pep 356 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = from_timer(pep, t, timeout); pep 357 drivers/net/ethernet/marvell/pxa168_eth.c napi_schedule(&pep->napi); pep 436 drivers/net/ethernet/marvell/pxa168_eth.c static int add_del_hash_entry(struct pxa168_eth_private *pep, pep 466 drivers/net/ethernet/marvell/pxa168_eth.c start = pep->htpr; pep 491 drivers/net/ethernet/marvell/pxa168_eth.c netdev_info(pep->dev, pep 522 drivers/net/ethernet/marvell/pxa168_eth.c static void update_hash_table_mac_address(struct pxa168_eth_private *pep, pep 528 drivers/net/ethernet/marvell/pxa168_eth.c add_del_hash_entry(pep, oaddr, 1, 0, HASH_DELETE); pep 530 drivers/net/ethernet/marvell/pxa168_eth.c add_del_hash_entry(pep, addr, 1, 0, HASH_ADD); pep 533 drivers/net/ethernet/marvell/pxa168_eth.c static int init_hash_table(struct pxa168_eth_private *pep) pep 548 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->htpr) { pep 549 drivers/net/ethernet/marvell/pxa168_eth.c pep->htpr = dma_alloc_coherent(pep->dev->dev.parent, pep 551 drivers/net/ethernet/marvell/pxa168_eth.c &pep->htpr_dma, GFP_KERNEL); pep 552 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->htpr) pep 555 drivers/net/ethernet/marvell/pxa168_eth.c memset(pep->htpr, 0, HASH_ADDR_TABLE_SIZE); pep 557 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, HTPR, pep->htpr_dma); pep 563 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 567 drivers/net/ethernet/marvell/pxa168_eth.c val = rdl(pep, PORT_CONFIG); pep 572 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG, val); pep 578 drivers/net/ethernet/marvell/pxa168_eth.c memset(pep->htpr, 0, HASH_ADDR_TABLE_SIZE); pep 579 drivers/net/ethernet/marvell/pxa168_eth.c update_hash_table_mac_address(pep, NULL, dev->dev_addr); pep 582 drivers/net/ethernet/marvell/pxa168_eth.c update_hash_table_mac_address(pep, NULL, ha->addr); pep 588 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 589 drivers/net/ethernet/marvell/pxa168_eth.c unsigned int mac_h = rdl(pep, MAC_ADDR_HIGH); pep 590 drivers/net/ethernet/marvell/pxa168_eth.c unsigned int mac_l = rdl(pep, MAC_ADDR_LOW); pep 603 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 618 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, MAC_ADDR_HIGH, mac_h); pep 619 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, MAC_ADDR_LOW, mac_l); pep 622 drivers/net/ethernet/marvell/pxa168_eth.c update_hash_table_mac_address(pep, oldMac, dev->dev_addr); pep 630 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 636 drivers/net/ethernet/marvell/pxa168_eth.c tx_curr_desc = pep->tx_curr_desc_q; pep 637 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, ETH_C_TX_DESC_1, pep 638 drivers/net/ethernet/marvell/pxa168_eth.c (u32) (pep->tx_desc_dma + tx_curr_desc * sizeof(struct tx_desc))); pep 641 drivers/net/ethernet/marvell/pxa168_eth.c rx_curr_desc = pep->rx_curr_desc_q; pep 642 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, ETH_C_RX_DESC_0, pep 643 drivers/net/ethernet/marvell/pxa168_eth.c (u32) (pep->rx_desc_dma + rx_curr_desc * sizeof(struct rx_desc))); pep 645 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, ETH_F_RX_DESC_0, pep 646 drivers/net/ethernet/marvell/pxa168_eth.c (u32) (pep->rx_desc_dma + rx_curr_desc * sizeof(struct rx_desc))); pep 649 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_CAUSE, 0); pep 652 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_MASK, ALL_INTS); pep 654 drivers/net/ethernet/marvell/pxa168_eth.c val = rdl(pep, PORT_CONFIG); pep 656 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG, val); pep 659 drivers/net/ethernet/marvell/pxa168_eth.c val = rdl(pep, SDMA_CMD); pep 661 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, SDMA_CMD, val); pep 666 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 670 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_MASK, 0); pep 673 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_CAUSE, 0); pep 676 drivers/net/ethernet/marvell/pxa168_eth.c val = rdl(pep, SDMA_CMD); pep 682 drivers/net/ethernet/marvell/pxa168_eth.c abort_dma(pep); pep 685 drivers/net/ethernet/marvell/pxa168_eth.c val = rdl(pep, PORT_CONFIG); pep 687 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG, val); pep 698 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 709 drivers/net/ethernet/marvell/pxa168_eth.c pep->work_todo &= ~WORK_TX_DONE; pep 710 drivers/net/ethernet/marvell/pxa168_eth.c while (pep->tx_desc_count > 0) { pep 711 drivers/net/ethernet/marvell/pxa168_eth.c tx_index = pep->tx_used_desc_q; pep 712 drivers/net/ethernet/marvell/pxa168_eth.c desc = &pep->p_tx_desc_area[tx_index]; pep 722 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_used_desc_q = (tx_index + 1) % pep->tx_ring_size; pep 723 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_desc_count--; pep 726 drivers/net/ethernet/marvell/pxa168_eth.c skb = pep->tx_skb[tx_index]; pep 728 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_skb[tx_index] = NULL; pep 735 drivers/net/ethernet/marvell/pxa168_eth.c dma_unmap_single(&pep->pdev->dev, addr, count, DMA_TO_DEVICE); pep 747 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 749 drivers/net/ethernet/marvell/pxa168_eth.c netdev_info(dev, "TX timeout desc_count %d\n", pep->tx_desc_count); pep 751 drivers/net/ethernet/marvell/pxa168_eth.c schedule_work(&pep->tx_timeout_task); pep 756 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = container_of(work, pep 759 drivers/net/ethernet/marvell/pxa168_eth.c struct net_device *dev = pep->dev; pep 766 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 777 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->rx_resource_err) pep 779 drivers/net/ethernet/marvell/pxa168_eth.c rx_curr_desc = pep->rx_curr_desc_q; pep 780 drivers/net/ethernet/marvell/pxa168_eth.c rx_used_desc = pep->rx_used_desc_q; pep 781 drivers/net/ethernet/marvell/pxa168_eth.c rx_desc = &pep->p_rx_desc_area[rx_curr_desc]; pep 786 drivers/net/ethernet/marvell/pxa168_eth.c skb = pep->rx_skb[rx_curr_desc]; pep 787 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_skb[rx_curr_desc] = NULL; pep 789 drivers/net/ethernet/marvell/pxa168_eth.c rx_next_curr_desc = (rx_curr_desc + 1) % pep->rx_ring_size; pep 790 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_curr_desc_q = rx_next_curr_desc; pep 795 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_resource_err = 1; pep 796 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_count--; pep 797 drivers/net/ethernet/marvell/pxa168_eth.c dma_unmap_single(&pep->pdev->dev, rx_desc->buf_ptr, pep 840 drivers/net/ethernet/marvell/pxa168_eth.c static int pxa168_eth_collect_events(struct pxa168_eth_private *pep, pep 846 drivers/net/ethernet/marvell/pxa168_eth.c icr = rdl(pep, INT_CAUSE); pep 850 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_CAUSE, ~icr); pep 852 drivers/net/ethernet/marvell/pxa168_eth.c pep->work_todo |= WORK_TX_DONE; pep 863 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 865 drivers/net/ethernet/marvell/pxa168_eth.c if (unlikely(!pxa168_eth_collect_events(pep, dev))) pep 868 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_MASK, 0); pep 869 drivers/net/ethernet/marvell/pxa168_eth.c napi_schedule(&pep->napi); pep 873 drivers/net/ethernet/marvell/pxa168_eth.c static void pxa168_eth_recalc_skb_size(struct pxa168_eth_private *pep) pep 883 drivers/net/ethernet/marvell/pxa168_eth.c skb_size = pep->dev->mtu + 36; pep 890 drivers/net/ethernet/marvell/pxa168_eth.c pep->skb_size = (skb_size + 7) & ~7; pep 898 drivers/net/ethernet/marvell/pxa168_eth.c pep->skb_size += SKB_DMA_REALIGN; pep 902 drivers/net/ethernet/marvell/pxa168_eth.c static int set_port_config_ext(struct pxa168_eth_private *pep) pep 906 drivers/net/ethernet/marvell/pxa168_eth.c pxa168_eth_recalc_skb_size(pep); pep 907 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->skb_size <= 1518) pep 909 drivers/net/ethernet/marvell/pxa168_eth.c else if (pep->skb_size <= 1536) pep 911 drivers/net/ethernet/marvell/pxa168_eth.c else if (pep->skb_size <= 2048) pep 917 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG_EXT, pep 931 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 933 drivers/net/ethernet/marvell/pxa168_eth.c u32 cfg, cfg_o = rdl(pep, PORT_CONFIG); pep 934 drivers/net/ethernet/marvell/pxa168_eth.c u32 cfgext, cfgext_o = rdl(pep, PORT_CONFIG_EXT); pep 952 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG, cfg); pep 953 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG_EXT, cfgext); pep 960 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 968 drivers/net/ethernet/marvell/pxa168_eth.c phy = mdiobus_scan(pep->smi_bus, pep->phy_addr); pep 973 drivers/net/ethernet/marvell/pxa168_eth.c pep->phy_intf); pep 977 drivers/net/ethernet/marvell/pxa168_eth.c cmd.base.phy_address = pep->phy_addr; pep 978 drivers/net/ethernet/marvell/pxa168_eth.c cmd.base.speed = pep->phy_speed; pep 979 drivers/net/ethernet/marvell/pxa168_eth.c cmd.base.duplex = pep->phy_duplex; pep 990 drivers/net/ethernet/marvell/pxa168_eth.c static int pxa168_init_hw(struct pxa168_eth_private *pep) pep 995 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_MASK, 0); pep 996 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_CAUSE, 0); pep 998 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_W_CLEAR, 0); pep 1002 drivers/net/ethernet/marvell/pxa168_eth.c abort_dma(pep); pep 1004 drivers/net/ethernet/marvell/pxa168_eth.c err = init_hash_table(pep); pep 1008 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, SDMA_CONFIG, SDCR_BSZ8 | /* Burst size = 32 bytes */ pep 1014 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, PORT_CONFIG, PCR_HS); /* Hash size is 1/2kb */ pep 1015 drivers/net/ethernet/marvell/pxa168_eth.c set_port_config_ext(pep); pep 1022 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1025 drivers/net/ethernet/marvell/pxa168_eth.c int rx_desc_num = pep->rx_ring_size; pep 1028 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_skb = kcalloc(rx_desc_num, sizeof(*pep->rx_skb), GFP_KERNEL); pep 1029 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->rx_skb) pep 1033 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_count = 0; pep 1034 drivers/net/ethernet/marvell/pxa168_eth.c size = pep->rx_ring_size * sizeof(struct rx_desc); pep 1035 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_area_size = size; pep 1036 drivers/net/ethernet/marvell/pxa168_eth.c pep->p_rx_desc_area = dma_alloc_coherent(pep->dev->dev.parent, size, pep 1037 drivers/net/ethernet/marvell/pxa168_eth.c &pep->rx_desc_dma, pep 1039 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->p_rx_desc_area) pep 1043 drivers/net/ethernet/marvell/pxa168_eth.c p_rx_desc = pep->p_rx_desc_area; pep 1045 drivers/net/ethernet/marvell/pxa168_eth.c p_rx_desc[i].next_desc_ptr = pep->rx_desc_dma + pep 1049 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_curr_desc_q = 0; pep 1050 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_used_desc_q = 0; pep 1051 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_area_size = rx_desc_num * sizeof(struct rx_desc); pep 1054 drivers/net/ethernet/marvell/pxa168_eth.c kfree(pep->rx_skb); pep 1060 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1064 drivers/net/ethernet/marvell/pxa168_eth.c for (curr = 0; pep->rx_desc_count && curr < pep->rx_ring_size; curr++) { pep 1065 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->rx_skb[curr]) { pep 1066 drivers/net/ethernet/marvell/pxa168_eth.c dev_kfree_skb(pep->rx_skb[curr]); pep 1067 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_count--; pep 1070 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->rx_desc_count) pep 1072 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_desc_count); pep 1074 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->p_rx_desc_area) pep 1075 drivers/net/ethernet/marvell/pxa168_eth.c dma_free_coherent(pep->dev->dev.parent, pep->rx_desc_area_size, pep 1076 drivers/net/ethernet/marvell/pxa168_eth.c pep->p_rx_desc_area, pep->rx_desc_dma); pep 1077 drivers/net/ethernet/marvell/pxa168_eth.c kfree(pep->rx_skb); pep 1082 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1085 drivers/net/ethernet/marvell/pxa168_eth.c int tx_desc_num = pep->tx_ring_size; pep 1087 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_skb = kcalloc(tx_desc_num, sizeof(*pep->tx_skb), GFP_KERNEL); pep 1088 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->tx_skb) pep 1092 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_desc_count = 0; pep 1093 drivers/net/ethernet/marvell/pxa168_eth.c size = pep->tx_ring_size * sizeof(struct tx_desc); pep 1094 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_desc_area_size = size; pep 1095 drivers/net/ethernet/marvell/pxa168_eth.c pep->p_tx_desc_area = dma_alloc_coherent(pep->dev->dev.parent, size, pep 1096 drivers/net/ethernet/marvell/pxa168_eth.c &pep->tx_desc_dma, pep 1098 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->p_tx_desc_area) pep 1101 drivers/net/ethernet/marvell/pxa168_eth.c p_tx_desc = pep->p_tx_desc_area; pep 1103 drivers/net/ethernet/marvell/pxa168_eth.c p_tx_desc[i].next_desc_ptr = pep->tx_desc_dma + pep 1106 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_curr_desc_q = 0; pep 1107 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_used_desc_q = 0; pep 1108 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_desc_area_size = tx_desc_num * sizeof(struct tx_desc); pep 1111 drivers/net/ethernet/marvell/pxa168_eth.c kfree(pep->tx_skb); pep 1117 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1121 drivers/net/ethernet/marvell/pxa168_eth.c BUG_ON(pep->tx_used_desc_q != pep->tx_curr_desc_q); pep 1123 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->p_tx_desc_area) pep 1124 drivers/net/ethernet/marvell/pxa168_eth.c dma_free_coherent(pep->dev->dev.parent, pep->tx_desc_area_size, pep 1125 drivers/net/ethernet/marvell/pxa168_eth.c pep->p_tx_desc_area, pep->tx_desc_dma); pep 1126 drivers/net/ethernet/marvell/pxa168_eth.c kfree(pep->tx_skb); pep 1131 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1143 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_resource_err = 0; pep 1150 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_used_desc_q = 0; pep 1151 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_curr_desc_q = 0; pep 1155 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_used_desc_q = 0; pep 1156 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_curr_desc_q = 0; pep 1158 drivers/net/ethernet/marvell/pxa168_eth.c napi_enable(&pep->napi); pep 1170 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1174 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_MASK, 0); pep 1175 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_CAUSE, 0); pep 1177 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_W_CLEAR, 0); pep 1178 drivers/net/ethernet/marvell/pxa168_eth.c napi_disable(&pep->napi); pep 1179 drivers/net/ethernet/marvell/pxa168_eth.c del_timer_sync(&pep->timeout); pep 1191 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1194 drivers/net/ethernet/marvell/pxa168_eth.c retval = set_port_config_ext(pep); pep 1214 drivers/net/ethernet/marvell/pxa168_eth.c static int eth_alloc_tx_desc_index(struct pxa168_eth_private *pep) pep 1218 drivers/net/ethernet/marvell/pxa168_eth.c tx_desc_curr = pep->tx_curr_desc_q; pep 1219 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_curr_desc_q = (tx_desc_curr + 1) % pep->tx_ring_size; pep 1220 drivers/net/ethernet/marvell/pxa168_eth.c BUG_ON(pep->tx_curr_desc_q == pep->tx_used_desc_q); pep 1221 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_desc_count++; pep 1228 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = pep 1230 drivers/net/ethernet/marvell/pxa168_eth.c struct net_device *dev = pep->dev; pep 1240 drivers/net/ethernet/marvell/pxa168_eth.c && pep->tx_ring_size - pep->tx_desc_count > 1) { pep 1246 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, INT_MASK, ALL_INTS); pep 1255 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1261 drivers/net/ethernet/marvell/pxa168_eth.c tx_index = eth_alloc_tx_desc_index(pep); pep 1262 drivers/net/ethernet/marvell/pxa168_eth.c desc = &pep->p_tx_desc_area[tx_index]; pep 1264 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_skb[tx_index] = skb; pep 1266 drivers/net/ethernet/marvell/pxa168_eth.c desc->buf_ptr = dma_map_single(&pep->pdev->dev, skb->data, length, pep 1275 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, SDMA_CMD, SDMA_CMD_TXDH | SDMA_CMD_ERD); pep 1280 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->tx_ring_size - pep->tx_desc_count <= 1) { pep 1288 drivers/net/ethernet/marvell/pxa168_eth.c static int smi_wait_ready(struct pxa168_eth_private *pep) pep 1293 drivers/net/ethernet/marvell/pxa168_eth.c for (i = 0; rdl(pep, SMI) & SMI_BUSY; i++) { pep 1304 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = bus->priv; pep 1308 drivers/net/ethernet/marvell/pxa168_eth.c if (smi_wait_ready(pep)) { pep 1309 drivers/net/ethernet/marvell/pxa168_eth.c netdev_warn(pep->dev, "pxa168_eth: SMI bus busy timeout\n"); pep 1312 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, SMI, (phy_addr << 16) | (regnum << 21) | SMI_OP_R); pep 1314 drivers/net/ethernet/marvell/pxa168_eth.c for (i = 0; !((val = rdl(pep, SMI)) & SMI_R_VALID); i++) { pep 1316 drivers/net/ethernet/marvell/pxa168_eth.c netdev_warn(pep->dev, pep 1329 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = bus->priv; pep 1331 drivers/net/ethernet/marvell/pxa168_eth.c if (smi_wait_ready(pep)) { pep 1332 drivers/net/ethernet/marvell/pxa168_eth.c netdev_warn(pep->dev, "pxa168_eth: SMI bus busy timeout\n"); pep 1336 drivers/net/ethernet/marvell/pxa168_eth.c wrl(pep, SMI, (phy_addr << 16) | (regnum << 21) | pep 1339 drivers/net/ethernet/marvell/pxa168_eth.c if (smi_wait_ready(pep)) { pep 1340 drivers/net/ethernet/marvell/pxa168_eth.c netdev_err(pep->dev, "pxa168_eth: SMI bus busy timeout\n"); pep 1400 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = NULL; pep 1424 drivers/net/ethernet/marvell/pxa168_eth.c pep = netdev_priv(dev); pep 1425 drivers/net/ethernet/marvell/pxa168_eth.c pep->dev = dev; pep 1426 drivers/net/ethernet/marvell/pxa168_eth.c pep->clk = clk; pep 1428 drivers/net/ethernet/marvell/pxa168_eth.c pep->base = devm_platform_ioremap_resource(pdev, 0); pep 1429 drivers/net/ethernet/marvell/pxa168_eth.c if (IS_ERR(pep->base)) { pep 1446 drivers/net/ethernet/marvell/pxa168_eth.c INIT_WORK(&pep->tx_timeout_task, pxa168_eth_tx_timeout_task); pep 1462 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_ring_size = NUM_RX_DESCS; pep 1463 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_ring_size = NUM_TX_DESCS; pep 1465 drivers/net/ethernet/marvell/pxa168_eth.c pep->pd = dev_get_platdata(&pdev->dev); pep 1466 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->pd) { pep 1467 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->pd->rx_queue_size) pep 1468 drivers/net/ethernet/marvell/pxa168_eth.c pep->rx_ring_size = pep->pd->rx_queue_size; pep 1470 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->pd->tx_queue_size) pep 1471 drivers/net/ethernet/marvell/pxa168_eth.c pep->tx_ring_size = pep->pd->tx_queue_size; pep 1473 drivers/net/ethernet/marvell/pxa168_eth.c pep->port_num = pep->pd->port_number; pep 1474 drivers/net/ethernet/marvell/pxa168_eth.c pep->phy_addr = pep->pd->phy_addr; pep 1475 drivers/net/ethernet/marvell/pxa168_eth.c pep->phy_speed = pep->pd->speed; pep 1476 drivers/net/ethernet/marvell/pxa168_eth.c pep->phy_duplex = pep->pd->duplex; pep 1477 drivers/net/ethernet/marvell/pxa168_eth.c pep->phy_intf = pep->pd->intf; pep 1479 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->pd->init) pep 1480 drivers/net/ethernet/marvell/pxa168_eth.c pep->pd->init(); pep 1483 drivers/net/ethernet/marvell/pxa168_eth.c &pep->port_num); pep 1491 drivers/net/ethernet/marvell/pxa168_eth.c of_property_read_u32(np, "reg", &pep->phy_addr); pep 1492 drivers/net/ethernet/marvell/pxa168_eth.c pep->phy_intf = of_get_phy_mode(pdev->dev.of_node); pep 1497 drivers/net/ethernet/marvell/pxa168_eth.c BUG_ON(pep->port_num > 2); pep 1498 drivers/net/ethernet/marvell/pxa168_eth.c netif_napi_add(dev, &pep->napi, pxa168_rx_poll, pep->rx_ring_size); pep 1500 drivers/net/ethernet/marvell/pxa168_eth.c memset(&pep->timeout, 0, sizeof(struct timer_list)); pep 1501 drivers/net/ethernet/marvell/pxa168_eth.c timer_setup(&pep->timeout, rxq_refill_timer_wrapper, 0); pep 1503 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus = mdiobus_alloc(); pep 1504 drivers/net/ethernet/marvell/pxa168_eth.c if (!pep->smi_bus) { pep 1508 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus->priv = pep; pep 1509 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus->name = "pxa168_eth smi"; pep 1510 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus->read = pxa168_smi_read; pep 1511 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus->write = pxa168_smi_write; pep 1512 drivers/net/ethernet/marvell/pxa168_eth.c snprintf(pep->smi_bus->id, MII_BUS_ID_SIZE, "%s-%d", pep 1514 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus->parent = &pdev->dev; pep 1515 drivers/net/ethernet/marvell/pxa168_eth.c pep->smi_bus->phy_mask = 0xffffffff; pep 1516 drivers/net/ethernet/marvell/pxa168_eth.c err = mdiobus_register(pep->smi_bus); pep 1520 drivers/net/ethernet/marvell/pxa168_eth.c pep->pdev = pdev; pep 1522 drivers/net/ethernet/marvell/pxa168_eth.c pxa168_init_hw(pep); pep 1529 drivers/net/ethernet/marvell/pxa168_eth.c mdiobus_unregister(pep->smi_bus); pep 1531 drivers/net/ethernet/marvell/pxa168_eth.c mdiobus_free(pep->smi_bus); pep 1542 drivers/net/ethernet/marvell/pxa168_eth.c struct pxa168_eth_private *pep = netdev_priv(dev); pep 1544 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->htpr) { pep 1545 drivers/net/ethernet/marvell/pxa168_eth.c dma_free_coherent(pep->dev->dev.parent, HASH_ADDR_TABLE_SIZE, pep 1546 drivers/net/ethernet/marvell/pxa168_eth.c pep->htpr, pep->htpr_dma); pep 1547 drivers/net/ethernet/marvell/pxa168_eth.c pep->htpr = NULL; pep 1551 drivers/net/ethernet/marvell/pxa168_eth.c if (pep->clk) { pep 1552 drivers/net/ethernet/marvell/pxa168_eth.c clk_disable_unprepare(pep->clk); pep 1555 drivers/net/ethernet/marvell/pxa168_eth.c mdiobus_unregister(pep->smi_bus); pep 1556 drivers/net/ethernet/marvell/pxa168_eth.c mdiobus_free(pep->smi_bus); pep 1558 drivers/net/ethernet/marvell/pxa168_eth.c cancel_work_sync(&pep->tx_timeout_task); pep 120 drivers/scsi/am53c974.c struct pci_esp_priv *pep = pci_esp_get_priv(esp); pep 122 drivers/scsi/am53c974.c pep->dma_status = pci_esp_read8(esp, ESP_DMA_STATUS); pep 123 drivers/scsi/am53c974.c esp_dma_log("dma intr dreg[%02x]\n", pep->dma_status); pep 125 drivers/scsi/am53c974.c if (pep->dma_status & (ESP_DMA_STAT_ERROR | pep 183 drivers/scsi/am53c974.c struct pci_esp_priv *pep = pci_esp_get_priv(esp); pep 188 drivers/scsi/am53c974.c pep->dma_status = 0; pep 193 drivers/scsi/am53c974.c struct pci_esp_priv *pep = pci_esp_get_priv(esp); pep 195 drivers/scsi/am53c974.c if (pep->dma_status & ESP_DMA_STAT_ERROR) { pep 203 drivers/scsi/am53c974.c if (pep->dma_status & ESP_DMA_STAT_ABORT) { pep 205 drivers/scsi/am53c974.c pep->dma_status = pci_esp_read8(esp, ESP_DMA_CMD); pep 214 drivers/scsi/am53c974.c struct pci_esp_priv *pep = pci_esp_get_priv(esp); pep 219 drivers/scsi/am53c974.c pep->dma_status = 0; pep 378 drivers/scsi/am53c974.c struct pci_esp_priv *pep; pep 399 drivers/scsi/am53c974.c pep = kzalloc(sizeof(struct pci_esp_priv), GFP_KERNEL); pep 400 drivers/scsi/am53c974.c if (!pep) { pep 423 drivers/scsi/am53c974.c pep->esp = esp; pep 450 drivers/scsi/am53c974.c pci_set_drvdata(pdev, pep); pep 489 drivers/scsi/am53c974.c kfree(pep); pep 500 drivers/scsi/am53c974.c struct pci_esp_priv *pep = pci_get_drvdata(pdev); pep 501 drivers/scsi/am53c974.c struct esp *esp = pep->esp; pep 511 drivers/scsi/am53c974.c kfree(pep); pep 1013 fs/eventpoll.c static int ep_alloc(struct eventpoll **pep) pep 1034 fs/eventpoll.c *pep = ep;