Lines Matching refs:ug_info
230 ugeth->ug_info->uf_info.max_rx_buf_length + in get_new_skb()
246 ugeth->ug_info->uf_info.max_rx_buf_length + in get_new_skb()
442 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in hw_add_addr_in_hash()
580 for (i = 0; i < ucc_geth_tx_queues(ugeth->ug_info); i++) { in dump_bds()
583 (ugeth->ug_info->bdRingLenTx[i] * in dump_bds()
589 for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { in dump_bds()
592 (ugeth->ug_info->bdRingLenRx[i] * in dump_bds()
604 pr_info("UCC%d Geth registers:\n", ugeth->ug_info->uf_info.ucc_num + 1); in dump_regs()
693 int count = ucc_geth_thread_count(ugeth->ug_info->numThreadsTx); in dump_regs()
707 int count = ucc_geth_thread_count(ugeth->ug_info->numThreadsRx); in dump_regs()
887 for (i = 0; i < ucc_geth_tx_queues(ugeth->ug_info); i++) { in dump_regs()
919 for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { in dump_regs()
941 for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { in dump_regs()
979 if (ugeth->ug_info->rxExtendedFiltering) { in dump_regs()
982 if (ugeth->ug_info->largestexternallookupkeysize == in dump_regs()
986 if (ugeth->ug_info->largestexternallookupkeysize == in dump_regs()
997 ugeth->ug_info->riscTx, 0); in dump_regs()
1002 ugeth->ug_info->riscRx, 1); in dump_regs()
1291 struct ucc_geth_info *ug_info; in adjust_enet_interface() local
1300 ug_info = ugeth->ug_info; in adjust_enet_interface()
1312 maccfg2 |= ug_info->padAndCrc; in adjust_enet_interface()
1350 struct ucc_geth_info *ug_info = ugeth->ug_info; in adjust_enet_interface() local
1353 if (!ug_info->tbi_node) in adjust_enet_interface()
1356 tbiphy = of_phy_find_device(ug_info->tbi_node); in adjust_enet_interface()
1367 init_check_frame_length_mode(ug_info->lengthCheckRx, &ug_regs->maccfg2); in adjust_enet_interface()
1369 ret_val = init_preamble_length(ug_info->prel, &ug_regs->maccfg2); in adjust_enet_interface()
1394 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_graceful_stop_tx()
1428 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info. in ugeth_graceful_stop_rx()
1449 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_restart_tx()
1464 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_restart_rx()
1480 if (ugeth->ug_info->uf_info.ucc_num >= UCC_MAX_NUM) { in ugeth_enable()
1509 if (ugeth->ug_info->uf_info.ucc_num >= UCC_MAX_NUM) { in ugeth_disable()
1534 disable_irq(ugeth->ug_info->uf_info.irq); in ugeth_quiesce()
1543 enable_irq(ugeth->ug_info->uf_info.irq); in ugeth_activate()
1662 struct ucc_geth_info *ug_info = ugeth->ug_info; in uec_configure_serdes() local
1665 if (!ug_info->tbi_node) { in uec_configure_serdes()
1671 tbiphy = of_phy_find_device(ug_info->tbi_node); in uec_configure_serdes()
1704 struct ucc_geth_info *ug_info = priv->ug_info; in init_phy() local
1711 phydev = of_phy_connect(dev, ug_info->phy_node, &adjust_link, 0, in init_phy()
1808 struct ucc_geth_info *ug_info; in ucc_geth_free_rx() local
1814 ug_info = ugeth->ug_info; in ucc_geth_free_rx()
1815 uf_info = &ug_info->uf_info; in ucc_geth_free_rx()
1817 for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { in ucc_geth_free_rx()
1821 for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) { in ucc_geth_free_rx()
1825 ugeth->ug_info-> in ucc_geth_free_rx()
1847 struct ucc_geth_info *ug_info; in ucc_geth_free_tx() local
1854 ug_info = ugeth->ug_info; in ucc_geth_free_tx()
1855 uf_info = &ug_info->uf_info; in ucc_geth_free_tx()
1857 for (i = 0; i < ucc_geth_tx_queues(ugeth->ug_info); i++) { in ucc_geth_free_tx()
1861 for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) { in ucc_geth_free_tx()
1929 ugeth->ug_info->riscRx, 1); in ucc_geth_memclean()
1934 ugeth->ug_info->riscTx, 0); in ucc_geth_memclean()
2025 struct ucc_geth_info *ug_info; in ucc_struct_init() local
2029 ug_info = ugeth->ug_info; in ucc_struct_init()
2030 uf_info = &ug_info->uf_info; in ucc_struct_init()
2033 for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { in ucc_struct_init()
2034 if ((ug_info->bdRingLenRx[i] < UCC_GETH_RX_BD_RING_SIZE_MIN) || in ucc_struct_init()
2035 (ug_info->bdRingLenRx[i] % in ucc_struct_init()
2044 for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) { in ucc_struct_init()
2045 if (ug_info->bdRingLenTx[i] < UCC_GETH_TX_BD_RING_SIZE_MIN) { in ucc_struct_init()
2061 if (ucc_geth_tx_queues(ug_info) > NUM_TX_QUEUES) { in ucc_struct_init()
2068 if (ucc_geth_rx_queues(ug_info) > NUM_RX_QUEUES) { in ucc_struct_init()
2076 if (ug_info->l2qt[i] >= ucc_geth_rx_queues(ug_info)) { in ucc_struct_init()
2085 if (ug_info->l3qt[i] >= ucc_geth_rx_queues(ug_info)) { in ucc_struct_init()
2092 if (ug_info->cam && !ug_info->ecamptr) { in ucc_struct_init()
2098 if ((ug_info->numStationAddresses != in ucc_struct_init()
2100 ug_info->rxExtendedFiltering) { in ucc_struct_init()
2107 uf_info->uccm_mask = ug_info->eventRegMask & UCCE_OTHER;/* Errors */ in ucc_struct_init()
2108 for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) in ucc_struct_init()
2111 for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) in ucc_struct_init()
2124 ug_info->riscTx = QE_RISC_ALLOCATION_FOUR_RISCS; in ucc_struct_init()
2125 ug_info->riscRx = QE_RISC_ALLOCATION_FOUR_RISCS; in ucc_struct_init()
2140 struct ucc_geth_info *ug_info; in ucc_geth_alloc_tx() local
2146 ug_info = ugeth->ug_info; in ucc_geth_alloc_tx()
2147 uf_info = &ug_info->uf_info; in ucc_geth_alloc_tx()
2150 for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) { in ucc_geth_alloc_tx()
2155 length = ug_info->bdRingLenTx[j] * sizeof(struct qe_bd); in ucc_geth_alloc_tx()
2171 for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) { in ucc_geth_alloc_tx()
2174 kcalloc(ugeth->ug_info->bdRingLenTx[j], in ucc_geth_alloc_tx()
2185 for (i = 0; i < ug_info->bdRingLenTx[j]; i++) { in ucc_geth_alloc_tx()
2202 struct ucc_geth_info *ug_info; in ucc_geth_alloc_rx() local
2208 ug_info = ugeth->ug_info; in ucc_geth_alloc_rx()
2209 uf_info = &ug_info->uf_info; in ucc_geth_alloc_rx()
2212 for (j = 0; j < ucc_geth_rx_queues(ug_info); j++) { in ucc_geth_alloc_rx()
2216 length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); in ucc_geth_alloc_rx()
2229 for (j = 0; j < ucc_geth_rx_queues(ug_info); j++) { in ucc_geth_alloc_rx()
2232 kcalloc(ugeth->ug_info->bdRingLenRx[j], in ucc_geth_alloc_rx()
2243 for (i = 0; i < ug_info->bdRingLenRx[j]; i++) { in ucc_geth_alloc_rx()
2263 struct ucc_geth_info *ug_info; in ucc_geth_startup() local
2279 ug_info = ugeth->ug_info; in ucc_geth_startup()
2280 uf_info = &ug_info->uf_info; in ucc_geth_startup()
2284 numThreadsRxNumerical = ucc_geth_thread_count(ug_info->numThreadsRx); in ucc_geth_startup()
2291 numThreadsTxNumerical = ucc_geth_thread_count(ug_info->numThreadsTx); in ucc_geth_startup()
2299 ugeth->rx_non_dynamic_extended_features = ug_info->ipCheckSumCheck || in ucc_geth_startup()
2300 ug_info->ipAddressAlignment || in ucc_geth_startup()
2301 (ug_info->numStationAddresses != in ucc_geth_startup()
2305 (ug_info->vlanOperationTagged != UCC_GETH_VLAN_OPERATION_TAGGED_NOP) || in ucc_geth_startup()
2306 (ug_info->vlanOperationNonTagged != in ucc_geth_startup()
2314 init_rx_parameters(ug_info->bro, in ucc_geth_startup()
2315 ug_info->rsh, ug_info->pro, &uf_regs->upsmr); in ucc_geth_startup()
2322 init_flow_control_params(ug_info->aufc, in ucc_geth_startup()
2323 ug_info->receiveFlowControl, in ucc_geth_startup()
2324 ug_info->transmitFlowControl, in ucc_geth_startup()
2325 ug_info->pausePeriod, in ucc_geth_startup()
2326 ug_info->extensionField, in ucc_geth_startup()
2334 ret_val = init_inter_frame_gap_params(ug_info->nonBackToBackIfgPart1, in ucc_geth_startup()
2335 ug_info->nonBackToBackIfgPart2, in ucc_geth_startup()
2336 ug_info-> in ucc_geth_startup()
2338 ug_info->backToBackInterFrameGap, in ucc_geth_startup()
2348 ret_val = init_half_duplex_params(ug_info->altBeb, in ucc_geth_startup()
2349 ug_info->backPressureNoBackoff, in ucc_geth_startup()
2350 ug_info->noBackoff, in ucc_geth_startup()
2351 ug_info->excessDefer, in ucc_geth_startup()
2352 ug_info->altBebTruncation, in ucc_geth_startup()
2353 ug_info->maxRetransmission, in ucc_geth_startup()
2354 ug_info->collisionWindow, in ucc_geth_startup()
2373 init_hw_statistics_gathering_mode((ug_info->statisticsMode & in ucc_geth_startup()
2422 ug_info->vtagtable[i]); in ucc_geth_startup()
2427 ug_info->iphoffset[i]); in ucc_geth_startup()
2432 qe_muram_alloc(ucc_geth_tx_queues(ug_info) * in ucc_geth_startup()
2448 for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) { in ucc_geth_startup()
2450 ugeth->p_tx_bd_ring[i] + (ug_info->bdRingLenTx[i] - in ucc_geth_startup()
2461 if (ucc_geth_tx_queues(ug_info) > 1) { in ucc_geth_startup()
2480 ug_info->mblinterval); in ucc_geth_startup()
2482 ug_info->nortsrbytetime); in ucc_geth_startup()
2483 out_8(&ugeth->p_scheduler->fracsiz, ug_info->fracsiz); in ucc_geth_startup()
2485 ug_info->strictpriorityq); in ucc_geth_startup()
2486 out_8(&ugeth->p_scheduler->txasap, ug_info->txasap); in ucc_geth_startup()
2487 out_8(&ugeth->p_scheduler->extrabw, ug_info->extrabw); in ucc_geth_startup()
2490 ug_info->weightfactor[i]); in ucc_geth_startup()
2505 if (ug_info-> in ucc_geth_startup()
2524 if (ucc_geth_tx_queues(ug_info) > 1) in ucc_geth_startup()
2526 if (ug_info->ipCheckSumGenerate) in ucc_geth_startup()
2528 temoder |= ((ucc_geth_tx_queues(ug_info) - 1) << TEMODER_NUM_OF_QUEUES_SHIFT); in ucc_geth_startup()
2569 out_be16(&ugeth->p_rx_glbl_pram->typeorlen, ug_info->typeorlen); in ucc_geth_startup()
2572 if (ug_info-> in ucc_geth_startup()
2592 qe_muram_alloc(ucc_geth_rx_queues(ug_info) * in ucc_geth_startup()
2608 for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { in ucc_geth_startup()
2611 ug_info->interruptcoalescingmaxvalue[i]); in ucc_geth_startup()
2614 ug_info->interruptcoalescingmaxvalue[i]); in ucc_geth_startup()
2621 out_be16(&ugeth->p_rx_glbl_pram->mflr, ug_info->maxFrameLength); in ucc_geth_startup()
2623 init_min_frame_len(ug_info->minFrameLength, in ucc_geth_startup()
2627 out_be16(&ugeth->p_rx_glbl_pram->maxd1, ug_info->maxD1Length); in ucc_geth_startup()
2629 out_be16(&ugeth->p_rx_glbl_pram->maxd2, ug_info->maxD2Length); in ucc_geth_startup()
2634 l2qt |= (ug_info->l2qt[i] << (28 - 4 * i)); in ucc_geth_startup()
2641 l3qt |= (ug_info->l3qt[j + i] << (28 - 4 * i)); in ucc_geth_startup()
2646 out_be16(&ugeth->p_rx_glbl_pram->vlantype, ug_info->vlantype); in ucc_geth_startup()
2649 out_be16(&ugeth->p_rx_glbl_pram->vlantci, ug_info->vlantci); in ucc_geth_startup()
2652 out_be32(&ugeth->p_rx_glbl_pram->ecamptr, ug_info->ecamptr); in ucc_geth_startup()
2657 qe_muram_alloc(ucc_geth_rx_queues(ug_info) * in ucc_geth_startup()
2674 for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { in ucc_geth_startup()
2685 if (ug_info->rxExtendedFiltering) in ucc_geth_startup()
2687 if (ug_info->dynamicMaxFrameLength) in ucc_geth_startup()
2689 if (ug_info->dynamicMinFrameLength) in ucc_geth_startup()
2692 ug_info->vlanOperationTagged << REMODER_VLAN_OPERATION_TAGGED_SHIFT; in ucc_geth_startup()
2694 ug_info-> in ucc_geth_startup()
2696 remoder |= ug_info->rxQoSMode << REMODER_RX_QOS_MODE_SHIFT; in ucc_geth_startup()
2697 remoder |= ((ucc_geth_rx_queues(ug_info) - 1) << REMODER_NUM_OF_QUEUES_SHIFT); in ucc_geth_startup()
2698 if (ug_info->ipCheckSumCheck) in ucc_geth_startup()
2700 if (ug_info->ipAddressAlignment) in ucc_geth_startup()
2707 init_firmware_statistics_gathering_mode((ug_info-> in ucc_geth_startup()
2710 (ug_info->statisticsMode & in ucc_geth_startup()
2723 if (ug_info->rxExtendedFiltering) { in ucc_geth_startup()
2724 if (!ug_info->extendedFilteringChainPointer) { in ucc_geth_startup()
2747 (u32) ug_info->extendedFilteringChainPointer); in ucc_geth_startup()
2799 ((u32) ug_info->numThreadsRx) << ENET_INIT_PARAM_RGF_SHIFT; in ucc_geth_startup()
2801 ((u32) ug_info->numThreadsTx) << ENET_INIT_PARAM_TGF_SHIFT; in ucc_geth_startup()
2804 rx_glbl_pram_offset | ug_info->riscRx; in ucc_geth_startup()
2805 if ((ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2807 (ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2809 (ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2816 ug_info->largestexternallookupkeysize; in ucc_geth_startup()
2818 if (ug_info->rxExtendedFiltering) { in ucc_geth_startup()
2820 if (ug_info->largestexternallookupkeysize == in ucc_geth_startup()
2824 if (ug_info->largestexternallookupkeysize == in ucc_geth_startup()
2835 ug_info->riscRx, 1)) != 0) { in ucc_geth_startup()
2842 tx_glbl_pram_offset | ug_info->riscTx; in ucc_geth_startup()
2849 ug_info->riscTx, 0)) != 0) { in ucc_geth_startup()
2856 for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { in ucc_geth_startup()
2900 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ucc_geth_startup()
2940 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); in ucc_geth_start_xmit()
3053 1) & RX_RING_MOD_MASK(ugeth->ug_info->bdRingLenRx[rxQ]); in ucc_geth_rx()
3099 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); in ucc_geth_tx()
3120 struct ucc_geth_info *ug_info; in ucc_geth_poll() local
3123 ug_info = ugeth->ug_info; in ucc_geth_poll()
3127 for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) in ucc_geth_poll()
3132 for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) in ucc_geth_poll()
3148 struct ucc_geth_info *ug_info; in ucc_geth_irq_handler() local
3155 ug_info = ugeth->ug_info; in ucc_geth_irq_handler()
3192 int irq = ugeth->ug_info->uf_info.irq; in ucc_netpoll()
3305 err = request_irq(ugeth->ug_info->uf_info.irq, ucc_geth_irq_handler, in ucc_geth_open()
3342 free_irq(ugeth->ug_info->uf_info.irq, ugeth->ndev); in ucc_geth_close()
3561 struct ucc_geth_info *ug_info; in ucc_geth_probe() local
3593 ug_info = kmemdup(&ugeth_primary_info, sizeof(*ug_info), GFP_KERNEL); in ucc_geth_probe()
3594 if (ug_info == NULL) in ucc_geth_probe()
3597 ug_info->uf_info.ucc_num = ucc_num; in ucc_geth_probe()
3599 err = ucc_geth_parse_clock(np, "rx", &ug_info->uf_info.rx_clock); in ucc_geth_probe()
3602 err = ucc_geth_parse_clock(np, "tx", &ug_info->uf_info.tx_clock); in ucc_geth_probe()
3610 ug_info->uf_info.regs = res.start; in ucc_geth_probe()
3611 ug_info->uf_info.irq = irq_of_parse_and_map(np, 0); in ucc_geth_probe()
3613 ug_info->phy_node = of_parse_phandle(np, "phy-handle", 0); in ucc_geth_probe()
3614 if (!ug_info->phy_node && of_phy_is_fixed_link(np)) { in ucc_geth_probe()
3622 ug_info->phy_node = of_node_get(np); in ucc_geth_probe()
3626 ug_info->tbi_node = of_parse_phandle(np, "tbi-handle", 0); in ucc_geth_probe()
3632 prop = of_get_property(ug_info->phy_node, "interface", NULL); in ucc_geth_probe()
3664 ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT; in ucc_geth_probe()
3665 ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT; in ucc_geth_probe()
3666 ug_info->uf_info.urfset = UCC_GETH_URFSET_GIGA_INIT; in ucc_geth_probe()
3667 ug_info->uf_info.utfs = UCC_GETH_UTFS_GIGA_INIT; in ucc_geth_probe()
3668 ug_info->uf_info.utfet = UCC_GETH_UTFET_GIGA_INIT; in ucc_geth_probe()
3669 ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; in ucc_geth_probe()
3670 ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; in ucc_geth_probe()
3677 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; in ucc_geth_probe()
3679 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; in ucc_geth_probe()
3684 ug_info->uf_info.ucc_num + 1, in ucc_geth_probe()
3685 (u64)ug_info->uf_info.regs, in ucc_geth_probe()
3686 ug_info->uf_info.irq); in ucc_geth_probe()
3706 dev->base_addr = (unsigned long)(ug_info->uf_info.regs); in ucc_geth_probe()
3736 ugeth->ug_info = ug_info; in ucc_geth_probe()
3748 of_node_put(ug_info->tbi_node); in ucc_geth_probe()
3749 of_node_put(ug_info->phy_node); in ucc_geth_probe()
3751 kfree(ug_info); in ucc_geth_probe()
3766 of_node_put(ugeth->ug_info->tbi_node); in ucc_geth_remove()
3767 of_node_put(ugeth->ug_info->phy_node); in ucc_geth_remove()
3768 kfree(ugeth->ug_info); in ucc_geth_remove()