Lines Matching refs:ug_info

214 			       ugeth->ug_info->uf_info.max_rx_buf_length +  in get_new_skb()
230 ugeth->ug_info->uf_info.max_rx_buf_length + in get_new_skb()
426 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in hw_add_addr_in_hash()
564 for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { in dump_bds()
567 (ugeth->ug_info->bdRingLenTx[i] * in dump_bds()
573 for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { in dump_bds()
576 (ugeth->ug_info->bdRingLenRx[i] * in dump_bds()
588 pr_info("UCC%d Geth registers:\n", ugeth->ug_info->uf_info.ucc_num + 1); in dump_regs()
678 switch (ugeth->ug_info->numThreadsTx) { in dump_regs()
712 switch (ugeth->ug_info->numThreadsRx) { in dump_regs()
911 for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { in dump_regs()
943 for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { in dump_regs()
965 for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { in dump_regs()
1003 if (ugeth->ug_info->rxExtendedFiltering) { in dump_regs()
1006 if (ugeth->ug_info->largestexternallookupkeysize == in dump_regs()
1010 if (ugeth->ug_info->largestexternallookupkeysize == in dump_regs()
1021 ugeth->ug_info->riscTx, 0); in dump_regs()
1026 ugeth->ug_info->riscRx, 1); in dump_regs()
1315 struct ucc_geth_info *ug_info; in adjust_enet_interface() local
1324 ug_info = ugeth->ug_info; in adjust_enet_interface()
1336 maccfg2 |= ug_info->padAndCrc; in adjust_enet_interface()
1374 struct ucc_geth_info *ug_info = ugeth->ug_info; in adjust_enet_interface() local
1377 if (!ug_info->tbi_node) in adjust_enet_interface()
1380 tbiphy = of_phy_find_device(ug_info->tbi_node); in adjust_enet_interface()
1391 init_check_frame_length_mode(ug_info->lengthCheckRx, &ug_regs->maccfg2); in adjust_enet_interface()
1393 ret_val = init_preamble_length(ug_info->prel, &ug_regs->maccfg2); in adjust_enet_interface()
1418 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_graceful_stop_tx()
1452 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info. in ugeth_graceful_stop_rx()
1473 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_restart_tx()
1488 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_restart_rx()
1504 if (ugeth->ug_info->uf_info.ucc_num >= UCC_MAX_NUM) { in ugeth_enable()
1533 if (ugeth->ug_info->uf_info.ucc_num >= UCC_MAX_NUM) { in ugeth_disable()
1561 disable_irq(ugeth->ug_info->uf_info.irq); in ugeth_quiesce()
1570 enable_irq(ugeth->ug_info->uf_info.irq); in ugeth_activate()
1686 struct ucc_geth_info *ug_info = ugeth->ug_info; in uec_configure_serdes() local
1689 if (!ug_info->tbi_node) { in uec_configure_serdes()
1695 tbiphy = of_phy_find_device(ug_info->tbi_node); in uec_configure_serdes()
1728 struct ucc_geth_info *ug_info = priv->ug_info; in init_phy() local
1735 phydev = of_phy_connect(dev, ug_info->phy_node, &adjust_link, 0, in init_phy()
1842 struct ucc_geth_info *ug_info; in ucc_geth_free_rx() local
1848 ug_info = ugeth->ug_info; in ucc_geth_free_rx()
1849 uf_info = &ug_info->uf_info; in ucc_geth_free_rx()
1851 for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { in ucc_geth_free_rx()
1855 for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) { in ucc_geth_free_rx()
1859 ugeth->ug_info-> in ucc_geth_free_rx()
1872 if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_rx()
1875 else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_rx()
1886 struct ucc_geth_info *ug_info; in ucc_geth_free_tx() local
1891 ug_info = ugeth->ug_info; in ucc_geth_free_tx()
1892 uf_info = &ug_info->uf_info; in ucc_geth_free_tx()
1894 for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { in ucc_geth_free_tx()
1898 for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) { in ucc_geth_free_tx()
1913 if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_tx()
1916 else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_tx()
1984 ugeth->ug_info->riscRx, 1); in ucc_geth_memclean()
1989 ugeth->ug_info->riscTx, 0); in ucc_geth_memclean()
2080 struct ucc_geth_info *ug_info; in ucc_struct_init() local
2084 ug_info = ugeth->ug_info; in ucc_struct_init()
2085 uf_info = &ug_info->uf_info; in ucc_struct_init()
2095 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_struct_init()
2096 if ((ug_info->bdRingLenRx[i] < UCC_GETH_RX_BD_RING_SIZE_MIN) || in ucc_struct_init()
2097 (ug_info->bdRingLenRx[i] % in ucc_struct_init()
2106 for (i = 0; i < ug_info->numQueuesTx; i++) { in ucc_struct_init()
2107 if (ug_info->bdRingLenTx[i] < UCC_GETH_TX_BD_RING_SIZE_MIN) { in ucc_struct_init()
2123 if (ug_info->numQueuesTx > NUM_TX_QUEUES) { in ucc_struct_init()
2130 if (ug_info->numQueuesRx > NUM_RX_QUEUES) { in ucc_struct_init()
2138 if (ug_info->l2qt[i] >= ug_info->numQueuesRx) { in ucc_struct_init()
2147 if (ug_info->l3qt[i] >= ug_info->numQueuesRx) { in ucc_struct_init()
2154 if (ug_info->cam && !ug_info->ecamptr) { in ucc_struct_init()
2160 if ((ug_info->numStationAddresses != in ucc_struct_init()
2162 ug_info->rxExtendedFiltering) { in ucc_struct_init()
2169 uf_info->uccm_mask = ug_info->eventRegMask & UCCE_OTHER;/* Errors */ in ucc_struct_init()
2170 for (i = 0; i < ug_info->numQueuesRx; i++) in ucc_struct_init()
2173 for (i = 0; i < ug_info->numQueuesTx; i++) in ucc_struct_init()
2186 ug_info->riscTx = QE_RISC_ALLOCATION_FOUR_RISCS; in ucc_struct_init()
2187 ug_info->riscRx = QE_RISC_ALLOCATION_FOUR_RISCS; in ucc_struct_init()
2202 struct ucc_geth_info *ug_info; in ucc_geth_alloc_tx() local
2208 ug_info = ugeth->ug_info; in ucc_geth_alloc_tx()
2209 uf_info = &ug_info->uf_info; in ucc_geth_alloc_tx()
2212 for (j = 0; j < ug_info->numQueuesTx; j++) { in ucc_geth_alloc_tx()
2216 length = ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) in ucc_geth_alloc_tx()
2219 if ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) % in ucc_geth_alloc_tx()
2249 ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)), 0, in ucc_geth_alloc_tx()
2250 length - ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)); in ucc_geth_alloc_tx()
2254 for (j = 0; j < ug_info->numQueuesTx; j++) { in ucc_geth_alloc_tx()
2257 ugeth->ug_info->bdRingLenTx[j], in ucc_geth_alloc_tx()
2266 for (i = 0; i < ugeth->ug_info->bdRingLenTx[j]; i++) in ucc_geth_alloc_tx()
2271 for (i = 0; i < ug_info->bdRingLenTx[j]; i++) { in ucc_geth_alloc_tx()
2288 struct ucc_geth_info *ug_info; in ucc_geth_alloc_rx() local
2294 ug_info = ugeth->ug_info; in ucc_geth_alloc_rx()
2295 uf_info = &ug_info->uf_info; in ucc_geth_alloc_rx()
2298 for (j = 0; j < ug_info->numQueuesRx; j++) { in ucc_geth_alloc_rx()
2299 length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); in ucc_geth_alloc_rx()
2327 for (j = 0; j < ug_info->numQueuesRx; j++) { in ucc_geth_alloc_rx()
2330 ugeth->ug_info->bdRingLenRx[j], in ucc_geth_alloc_rx()
2339 for (i = 0; i < ugeth->ug_info->bdRingLenRx[j]; i++) in ucc_geth_alloc_rx()
2344 for (i = 0; i < ug_info->bdRingLenRx[j]; i++) { in ucc_geth_alloc_rx()
2364 struct ucc_geth_info *ug_info; in ucc_geth_startup() local
2380 ug_info = ugeth->ug_info; in ucc_geth_startup()
2381 uf_info = &ug_info->uf_info; in ucc_geth_startup()
2385 switch (ug_info->numThreadsRx) { in ucc_geth_startup()
2407 switch (ug_info->numThreadsTx) { in ucc_geth_startup()
2430 ugeth->rx_non_dynamic_extended_features = ug_info->ipCheckSumCheck || in ucc_geth_startup()
2431 ug_info->ipAddressAlignment || in ucc_geth_startup()
2432 (ug_info->numStationAddresses != in ucc_geth_startup()
2436 (ug_info->vlanOperationTagged != UCC_GETH_VLAN_OPERATION_TAGGED_NOP) || in ucc_geth_startup()
2437 (ug_info->vlanOperationNonTagged != in ucc_geth_startup()
2445 init_rx_parameters(ug_info->bro, in ucc_geth_startup()
2446 ug_info->rsh, ug_info->pro, &uf_regs->upsmr); in ucc_geth_startup()
2453 init_flow_control_params(ug_info->aufc, in ucc_geth_startup()
2454 ug_info->receiveFlowControl, in ucc_geth_startup()
2455 ug_info->transmitFlowControl, in ucc_geth_startup()
2456 ug_info->pausePeriod, in ucc_geth_startup()
2457 ug_info->extensionField, in ucc_geth_startup()
2465 ret_val = init_inter_frame_gap_params(ug_info->nonBackToBackIfgPart1, in ucc_geth_startup()
2466 ug_info->nonBackToBackIfgPart2, in ucc_geth_startup()
2467 ug_info-> in ucc_geth_startup()
2469 ug_info->backToBackInterFrameGap, in ucc_geth_startup()
2479 ret_val = init_half_duplex_params(ug_info->altBeb, in ucc_geth_startup()
2480 ug_info->backPressureNoBackoff, in ucc_geth_startup()
2481 ug_info->noBackoff, in ucc_geth_startup()
2482 ug_info->excessDefer, in ucc_geth_startup()
2483 ug_info->altBebTruncation, in ucc_geth_startup()
2484 ug_info->maxRetransmission, in ucc_geth_startup()
2485 ug_info->collisionWindow, in ucc_geth_startup()
2504 init_hw_statistics_gathering_mode((ug_info->statisticsMode & in ucc_geth_startup()
2558 ug_info->vtagtable[i]); in ucc_geth_startup()
2563 ug_info->iphoffset[i]); in ucc_geth_startup()
2568 qe_muram_alloc(ug_info->numQueuesTx * in ucc_geth_startup()
2584 for (i = 0; i < ug_info->numQueuesTx; i++) { in ucc_geth_startup()
2586 ugeth->p_tx_bd_ring[i] + (ug_info->bdRingLenTx[i] - in ucc_geth_startup()
2588 if (ugeth->ug_info->uf_info.bd_mem_part == MEM_PART_SYSTEM) { in ucc_geth_startup()
2594 } else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_startup()
2607 if (ug_info->numQueuesTx > 1) { in ucc_geth_startup()
2628 ug_info->mblinterval); in ucc_geth_startup()
2630 ug_info->nortsrbytetime); in ucc_geth_startup()
2631 out_8(&ugeth->p_scheduler->fracsiz, ug_info->fracsiz); in ucc_geth_startup()
2633 ug_info->strictpriorityq); in ucc_geth_startup()
2634 out_8(&ugeth->p_scheduler->txasap, ug_info->txasap); in ucc_geth_startup()
2635 out_8(&ugeth->p_scheduler->extrabw, ug_info->extrabw); in ucc_geth_startup()
2638 ug_info->weightfactor[i]); in ucc_geth_startup()
2653 if (ug_info-> in ucc_geth_startup()
2675 if (ug_info->numQueuesTx > 1) in ucc_geth_startup()
2677 if (ug_info->ipCheckSumGenerate) in ucc_geth_startup()
2679 temoder |= ((ug_info->numQueuesTx - 1) << TEMODER_NUM_OF_QUEUES_SHIFT); in ucc_geth_startup()
2727 out_be16(&ugeth->p_rx_glbl_pram->typeorlen, ug_info->typeorlen); in ucc_geth_startup()
2730 if (ug_info-> in ucc_geth_startup()
2753 qe_muram_alloc(ug_info->numQueuesRx * in ucc_geth_startup()
2769 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_geth_startup()
2772 ug_info->interruptcoalescingmaxvalue[i]); in ucc_geth_startup()
2775 ug_info->interruptcoalescingmaxvalue[i]); in ucc_geth_startup()
2782 out_be16(&ugeth->p_rx_glbl_pram->mflr, ug_info->maxFrameLength); in ucc_geth_startup()
2784 init_min_frame_len(ug_info->minFrameLength, in ucc_geth_startup()
2788 out_be16(&ugeth->p_rx_glbl_pram->maxd1, ug_info->maxD1Length); in ucc_geth_startup()
2790 out_be16(&ugeth->p_rx_glbl_pram->maxd2, ug_info->maxD2Length); in ucc_geth_startup()
2795 l2qt |= (ug_info->l2qt[i] << (28 - 4 * i)); in ucc_geth_startup()
2802 l3qt |= (ug_info->l3qt[j + i] << (28 - 4 * i)); in ucc_geth_startup()
2807 out_be16(&ugeth->p_rx_glbl_pram->vlantype, ug_info->vlantype); in ucc_geth_startup()
2810 out_be16(&ugeth->p_rx_glbl_pram->vlantci, ug_info->vlantci); in ucc_geth_startup()
2813 out_be32(&ugeth->p_rx_glbl_pram->ecamptr, ug_info->ecamptr); in ucc_geth_startup()
2818 qe_muram_alloc(ug_info->numQueuesRx * in ucc_geth_startup()
2835 ug_info->numQueuesRx * (sizeof(struct ucc_geth_rx_bd_queues_entry) + in ucc_geth_startup()
2840 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_geth_startup()
2841 if (ugeth->ug_info->uf_info.bd_mem_part == MEM_PART_SYSTEM) { in ucc_geth_startup()
2844 } else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_startup()
2858 if (ug_info->rxExtendedFiltering) in ucc_geth_startup()
2860 if (ug_info->dynamicMaxFrameLength) in ucc_geth_startup()
2862 if (ug_info->dynamicMinFrameLength) in ucc_geth_startup()
2865 ug_info->vlanOperationTagged << REMODER_VLAN_OPERATION_TAGGED_SHIFT; in ucc_geth_startup()
2867 ug_info-> in ucc_geth_startup()
2869 remoder |= ug_info->rxQoSMode << REMODER_RX_QOS_MODE_SHIFT; in ucc_geth_startup()
2870 remoder |= ((ug_info->numQueuesRx - 1) << REMODER_NUM_OF_QUEUES_SHIFT); in ucc_geth_startup()
2871 if (ug_info->ipCheckSumCheck) in ucc_geth_startup()
2873 if (ug_info->ipAddressAlignment) in ucc_geth_startup()
2880 init_firmware_statistics_gathering_mode((ug_info-> in ucc_geth_startup()
2883 (ug_info->statisticsMode & in ucc_geth_startup()
2896 if (ug_info->rxExtendedFiltering) { in ucc_geth_startup()
2897 if (!ug_info->extendedFilteringChainPointer) { in ucc_geth_startup()
2920 (u32) ug_info->extendedFilteringChainPointer); in ucc_geth_startup()
2975 ((u32) ug_info->numThreadsRx) << ENET_INIT_PARAM_RGF_SHIFT; in ucc_geth_startup()
2977 ((u32) ug_info->numThreadsTx) << ENET_INIT_PARAM_TGF_SHIFT; in ucc_geth_startup()
2980 ugeth->rx_glbl_pram_offset | ug_info->riscRx; in ucc_geth_startup()
2981 if ((ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2983 (ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2985 (ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2992 ug_info->largestexternallookupkeysize; in ucc_geth_startup()
2994 if (ug_info->rxExtendedFiltering) { in ucc_geth_startup()
2996 if (ug_info->largestexternallookupkeysize == in ucc_geth_startup()
3000 if (ug_info->largestexternallookupkeysize == in ucc_geth_startup()
3011 ug_info->riscRx, 1)) != 0) { in ucc_geth_startup()
3018 ugeth->tx_glbl_pram_offset | ug_info->riscTx; in ucc_geth_startup()
3025 ug_info->riscTx, 0)) != 0) { in ucc_geth_startup()
3032 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_geth_startup()
3076 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ucc_geth_startup()
3114 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); in ucc_geth_start_xmit()
3227 1) & RX_RING_MOD_MASK(ugeth->ug_info->bdRingLenRx[rxQ]); in ucc_geth_rx()
3270 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); in ucc_geth_tx()
3290 struct ucc_geth_info *ug_info; in ucc_geth_poll() local
3293 ug_info = ugeth->ug_info; in ucc_geth_poll()
3297 for (i = 0; i < ug_info->numQueuesTx; i++) in ucc_geth_poll()
3302 for (i = 0; i < ug_info->numQueuesRx; i++) in ucc_geth_poll()
3318 struct ucc_geth_info *ug_info; in ucc_geth_irq_handler() local
3325 ug_info = ugeth->ug_info; in ucc_geth_irq_handler()
3362 int irq = ugeth->ug_info->uf_info.irq; in ucc_netpoll()
3475 err = request_irq(ugeth->ug_info->uf_info.irq, ucc_geth_irq_handler, in ucc_geth_open()
3511 free_irq(ugeth->ug_info->uf_info.irq, ugeth->ndev); in ucc_geth_close()
3699 struct ucc_geth_info *ug_info; in ucc_geth_probe() local
3733 ug_info = &ugeth_info[ucc_num]; in ucc_geth_probe()
3734 if (ug_info == NULL) { in ucc_geth_probe()
3740 ug_info->uf_info.ucc_num = ucc_num; in ucc_geth_probe()
3744 ug_info->uf_info.rx_clock = qe_clock_source(sprop); in ucc_geth_probe()
3745 if ((ug_info->uf_info.rx_clock < QE_CLK_NONE) || in ucc_geth_probe()
3746 (ug_info->uf_info.rx_clock > QE_CLK24)) { in ucc_geth_probe()
3762 ug_info->uf_info.rx_clock = *prop; in ucc_geth_probe()
3767 ug_info->uf_info.tx_clock = qe_clock_source(sprop); in ucc_geth_probe()
3768 if ((ug_info->uf_info.tx_clock < QE_CLK_NONE) || in ucc_geth_probe()
3769 (ug_info->uf_info.tx_clock > QE_CLK24)) { in ucc_geth_probe()
3783 ug_info->uf_info.tx_clock = *prop; in ucc_geth_probe()
3790 ug_info->uf_info.regs = res.start; in ucc_geth_probe()
3791 ug_info->uf_info.irq = irq_of_parse_and_map(np, 0); in ucc_geth_probe()
3793 ug_info->phy_node = of_parse_phandle(np, "phy-handle", 0); in ucc_geth_probe()
3794 if (!ug_info->phy_node && of_phy_is_fixed_link(np)) { in ucc_geth_probe()
3802 ug_info->phy_node = of_node_get(np); in ucc_geth_probe()
3806 ug_info->tbi_node = of_parse_phandle(np, "tbi-handle", 0); in ucc_geth_probe()
3812 prop = of_get_property(ug_info->phy_node, "interface", NULL); in ucc_geth_probe()
3844 ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT; in ucc_geth_probe()
3845 ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT; in ucc_geth_probe()
3846 ug_info->uf_info.urfset = UCC_GETH_URFSET_GIGA_INIT; in ucc_geth_probe()
3847 ug_info->uf_info.utfs = UCC_GETH_UTFS_GIGA_INIT; in ucc_geth_probe()
3848 ug_info->uf_info.utfet = UCC_GETH_UTFET_GIGA_INIT; in ucc_geth_probe()
3849 ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; in ucc_geth_probe()
3850 ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; in ucc_geth_probe()
3857 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; in ucc_geth_probe()
3859 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; in ucc_geth_probe()
3864 ug_info->uf_info.ucc_num + 1, ug_info->uf_info.regs, in ucc_geth_probe()
3865 ug_info->uf_info.irq); in ucc_geth_probe()
3871 of_node_put(ug_info->tbi_node); in ucc_geth_probe()
3872 of_node_put(ug_info->phy_node); in ucc_geth_probe()
3886 dev->base_addr = (unsigned long)(ug_info->uf_info.regs); in ucc_geth_probe()
3911 of_node_put(ug_info->tbi_node); in ucc_geth_probe()
3912 of_node_put(ug_info->phy_node); in ucc_geth_probe()
3920 ugeth->ug_info = ug_info; in ucc_geth_probe()
3936 of_node_put(ugeth->ug_info->tbi_node); in ucc_geth_remove()
3937 of_node_put(ugeth->ug_info->phy_node); in ucc_geth_remove()