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()
1389 init_check_frame_length_mode(ug_info->lengthCheckRx, &ug_regs->maccfg2); in adjust_enet_interface()
1391 ret_val = init_preamble_length(ug_info->prel, &ug_regs->maccfg2); in adjust_enet_interface()
1416 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_graceful_stop_tx()
1450 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info. in ugeth_graceful_stop_rx()
1471 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_restart_tx()
1486 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ugeth_restart_rx()
1502 if (ugeth->ug_info->uf_info.ucc_num >= UCC_MAX_NUM) { in ugeth_enable()
1531 if (ugeth->ug_info->uf_info.ucc_num >= UCC_MAX_NUM) { in ugeth_disable()
1559 disable_irq(ugeth->ug_info->uf_info.irq); in ugeth_quiesce()
1568 enable_irq(ugeth->ug_info->uf_info.irq); in ugeth_activate()
1684 struct ucc_geth_info *ug_info = ugeth->ug_info; in uec_configure_serdes() local
1687 if (!ug_info->tbi_node) { in uec_configure_serdes()
1693 tbiphy = of_phy_find_device(ug_info->tbi_node); in uec_configure_serdes()
1722 struct ucc_geth_info *ug_info = priv->ug_info; in init_phy() local
1729 phydev = of_phy_connect(dev, ug_info->phy_node, &adjust_link, 0, in init_phy()
1836 struct ucc_geth_info *ug_info; in ucc_geth_free_rx() local
1842 ug_info = ugeth->ug_info; in ucc_geth_free_rx()
1843 uf_info = &ug_info->uf_info; in ucc_geth_free_rx()
1845 for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { in ucc_geth_free_rx()
1849 for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) { in ucc_geth_free_rx()
1853 ugeth->ug_info-> in ucc_geth_free_rx()
1866 if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_rx()
1869 else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_rx()
1880 struct ucc_geth_info *ug_info; in ucc_geth_free_tx() local
1885 ug_info = ugeth->ug_info; in ucc_geth_free_tx()
1886 uf_info = &ug_info->uf_info; in ucc_geth_free_tx()
1888 for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { in ucc_geth_free_tx()
1892 for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) { in ucc_geth_free_tx()
1907 if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_tx()
1910 else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_free_tx()
1978 ugeth->ug_info->riscRx, 1); in ucc_geth_memclean()
1983 ugeth->ug_info->riscTx, 0); in ucc_geth_memclean()
2074 struct ucc_geth_info *ug_info; in ucc_struct_init() local
2078 ug_info = ugeth->ug_info; in ucc_struct_init()
2079 uf_info = &ug_info->uf_info; in ucc_struct_init()
2089 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_struct_init()
2090 if ((ug_info->bdRingLenRx[i] < UCC_GETH_RX_BD_RING_SIZE_MIN) || in ucc_struct_init()
2091 (ug_info->bdRingLenRx[i] % in ucc_struct_init()
2100 for (i = 0; i < ug_info->numQueuesTx; i++) { in ucc_struct_init()
2101 if (ug_info->bdRingLenTx[i] < UCC_GETH_TX_BD_RING_SIZE_MIN) { in ucc_struct_init()
2117 if (ug_info->numQueuesTx > NUM_TX_QUEUES) { in ucc_struct_init()
2124 if (ug_info->numQueuesRx > NUM_RX_QUEUES) { in ucc_struct_init()
2132 if (ug_info->l2qt[i] >= ug_info->numQueuesRx) { in ucc_struct_init()
2141 if (ug_info->l3qt[i] >= ug_info->numQueuesRx) { in ucc_struct_init()
2148 if (ug_info->cam && !ug_info->ecamptr) { in ucc_struct_init()
2154 if ((ug_info->numStationAddresses != in ucc_struct_init()
2156 ug_info->rxExtendedFiltering) { in ucc_struct_init()
2163 uf_info->uccm_mask = ug_info->eventRegMask & UCCE_OTHER;/* Errors */ in ucc_struct_init()
2164 for (i = 0; i < ug_info->numQueuesRx; i++) in ucc_struct_init()
2167 for (i = 0; i < ug_info->numQueuesTx; i++) in ucc_struct_init()
2180 ug_info->riscTx = QE_RISC_ALLOCATION_FOUR_RISCS; in ucc_struct_init()
2181 ug_info->riscRx = QE_RISC_ALLOCATION_FOUR_RISCS; in ucc_struct_init()
2196 struct ucc_geth_info *ug_info; in ucc_geth_alloc_tx() local
2202 ug_info = ugeth->ug_info; in ucc_geth_alloc_tx()
2203 uf_info = &ug_info->uf_info; in ucc_geth_alloc_tx()
2206 for (j = 0; j < ug_info->numQueuesTx; j++) { in ucc_geth_alloc_tx()
2210 length = ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) in ucc_geth_alloc_tx()
2213 if ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) % in ucc_geth_alloc_tx()
2243 ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)), 0, in ucc_geth_alloc_tx()
2244 length - ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)); in ucc_geth_alloc_tx()
2248 for (j = 0; j < ug_info->numQueuesTx; j++) { in ucc_geth_alloc_tx()
2251 ugeth->ug_info->bdRingLenTx[j], in ucc_geth_alloc_tx()
2260 for (i = 0; i < ugeth->ug_info->bdRingLenTx[j]; i++) in ucc_geth_alloc_tx()
2265 for (i = 0; i < ug_info->bdRingLenTx[j]; i++) { in ucc_geth_alloc_tx()
2282 struct ucc_geth_info *ug_info; in ucc_geth_alloc_rx() local
2288 ug_info = ugeth->ug_info; in ucc_geth_alloc_rx()
2289 uf_info = &ug_info->uf_info; in ucc_geth_alloc_rx()
2292 for (j = 0; j < ug_info->numQueuesRx; j++) { in ucc_geth_alloc_rx()
2293 length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); in ucc_geth_alloc_rx()
2321 for (j = 0; j < ug_info->numQueuesRx; j++) { in ucc_geth_alloc_rx()
2324 ugeth->ug_info->bdRingLenRx[j], in ucc_geth_alloc_rx()
2333 for (i = 0; i < ugeth->ug_info->bdRingLenRx[j]; i++) in ucc_geth_alloc_rx()
2338 for (i = 0; i < ug_info->bdRingLenRx[j]; i++) { in ucc_geth_alloc_rx()
2358 struct ucc_geth_info *ug_info; in ucc_geth_startup() local
2374 ug_info = ugeth->ug_info; in ucc_geth_startup()
2375 uf_info = &ug_info->uf_info; in ucc_geth_startup()
2379 switch (ug_info->numThreadsRx) { in ucc_geth_startup()
2401 switch (ug_info->numThreadsTx) { in ucc_geth_startup()
2424 ugeth->rx_non_dynamic_extended_features = ug_info->ipCheckSumCheck || in ucc_geth_startup()
2425 ug_info->ipAddressAlignment || in ucc_geth_startup()
2426 (ug_info->numStationAddresses != in ucc_geth_startup()
2430 (ug_info->vlanOperationTagged != UCC_GETH_VLAN_OPERATION_TAGGED_NOP) || in ucc_geth_startup()
2431 (ug_info->vlanOperationNonTagged != in ucc_geth_startup()
2439 init_rx_parameters(ug_info->bro, in ucc_geth_startup()
2440 ug_info->rsh, ug_info->pro, &uf_regs->upsmr); in ucc_geth_startup()
2447 init_flow_control_params(ug_info->aufc, in ucc_geth_startup()
2448 ug_info->receiveFlowControl, in ucc_geth_startup()
2449 ug_info->transmitFlowControl, in ucc_geth_startup()
2450 ug_info->pausePeriod, in ucc_geth_startup()
2451 ug_info->extensionField, in ucc_geth_startup()
2459 ret_val = init_inter_frame_gap_params(ug_info->nonBackToBackIfgPart1, in ucc_geth_startup()
2460 ug_info->nonBackToBackIfgPart2, in ucc_geth_startup()
2461 ug_info-> in ucc_geth_startup()
2463 ug_info->backToBackInterFrameGap, in ucc_geth_startup()
2473 ret_val = init_half_duplex_params(ug_info->altBeb, in ucc_geth_startup()
2474 ug_info->backPressureNoBackoff, in ucc_geth_startup()
2475 ug_info->noBackoff, in ucc_geth_startup()
2476 ug_info->excessDefer, in ucc_geth_startup()
2477 ug_info->altBebTruncation, in ucc_geth_startup()
2478 ug_info->maxRetransmission, in ucc_geth_startup()
2479 ug_info->collisionWindow, in ucc_geth_startup()
2498 init_hw_statistics_gathering_mode((ug_info->statisticsMode & in ucc_geth_startup()
2552 ug_info->vtagtable[i]); in ucc_geth_startup()
2557 ug_info->iphoffset[i]); in ucc_geth_startup()
2562 qe_muram_alloc(ug_info->numQueuesTx * in ucc_geth_startup()
2578 for (i = 0; i < ug_info->numQueuesTx; i++) { in ucc_geth_startup()
2580 ugeth->p_tx_bd_ring[i] + (ug_info->bdRingLenTx[i] - in ucc_geth_startup()
2582 if (ugeth->ug_info->uf_info.bd_mem_part == MEM_PART_SYSTEM) { in ucc_geth_startup()
2588 } else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_startup()
2601 if (ug_info->numQueuesTx > 1) { in ucc_geth_startup()
2622 ug_info->mblinterval); in ucc_geth_startup()
2624 ug_info->nortsrbytetime); in ucc_geth_startup()
2625 out_8(&ugeth->p_scheduler->fracsiz, ug_info->fracsiz); in ucc_geth_startup()
2627 ug_info->strictpriorityq); in ucc_geth_startup()
2628 out_8(&ugeth->p_scheduler->txasap, ug_info->txasap); in ucc_geth_startup()
2629 out_8(&ugeth->p_scheduler->extrabw, ug_info->extrabw); in ucc_geth_startup()
2632 ug_info->weightfactor[i]); in ucc_geth_startup()
2647 if (ug_info-> in ucc_geth_startup()
2669 if (ug_info->numQueuesTx > 1) in ucc_geth_startup()
2671 if (ug_info->ipCheckSumGenerate) in ucc_geth_startup()
2673 temoder |= ((ug_info->numQueuesTx - 1) << TEMODER_NUM_OF_QUEUES_SHIFT); in ucc_geth_startup()
2721 out_be16(&ugeth->p_rx_glbl_pram->typeorlen, ug_info->typeorlen); in ucc_geth_startup()
2724 if (ug_info-> in ucc_geth_startup()
2747 qe_muram_alloc(ug_info->numQueuesRx * in ucc_geth_startup()
2763 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_geth_startup()
2766 ug_info->interruptcoalescingmaxvalue[i]); in ucc_geth_startup()
2769 ug_info->interruptcoalescingmaxvalue[i]); in ucc_geth_startup()
2776 out_be16(&ugeth->p_rx_glbl_pram->mflr, ug_info->maxFrameLength); in ucc_geth_startup()
2778 init_min_frame_len(ug_info->minFrameLength, in ucc_geth_startup()
2782 out_be16(&ugeth->p_rx_glbl_pram->maxd1, ug_info->maxD1Length); in ucc_geth_startup()
2784 out_be16(&ugeth->p_rx_glbl_pram->maxd2, ug_info->maxD2Length); in ucc_geth_startup()
2789 l2qt |= (ug_info->l2qt[i] << (28 - 4 * i)); in ucc_geth_startup()
2796 l3qt |= (ug_info->l3qt[j + i] << (28 - 4 * i)); in ucc_geth_startup()
2801 out_be16(&ugeth->p_rx_glbl_pram->vlantype, ug_info->vlantype); in ucc_geth_startup()
2804 out_be16(&ugeth->p_rx_glbl_pram->vlantci, ug_info->vlantci); in ucc_geth_startup()
2807 out_be32(&ugeth->p_rx_glbl_pram->ecamptr, ug_info->ecamptr); in ucc_geth_startup()
2812 qe_muram_alloc(ug_info->numQueuesRx * in ucc_geth_startup()
2829 ug_info->numQueuesRx * (sizeof(struct ucc_geth_rx_bd_queues_entry) + in ucc_geth_startup()
2834 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_geth_startup()
2835 if (ugeth->ug_info->uf_info.bd_mem_part == MEM_PART_SYSTEM) { in ucc_geth_startup()
2838 } else if (ugeth->ug_info->uf_info.bd_mem_part == in ucc_geth_startup()
2852 if (ug_info->rxExtendedFiltering) in ucc_geth_startup()
2854 if (ug_info->dynamicMaxFrameLength) in ucc_geth_startup()
2856 if (ug_info->dynamicMinFrameLength) in ucc_geth_startup()
2859 ug_info->vlanOperationTagged << REMODER_VLAN_OPERATION_TAGGED_SHIFT; in ucc_geth_startup()
2861 ug_info-> in ucc_geth_startup()
2863 remoder |= ug_info->rxQoSMode << REMODER_RX_QOS_MODE_SHIFT; in ucc_geth_startup()
2864 remoder |= ((ug_info->numQueuesRx - 1) << REMODER_NUM_OF_QUEUES_SHIFT); in ucc_geth_startup()
2865 if (ug_info->ipCheckSumCheck) in ucc_geth_startup()
2867 if (ug_info->ipAddressAlignment) in ucc_geth_startup()
2874 init_firmware_statistics_gathering_mode((ug_info-> in ucc_geth_startup()
2877 (ug_info->statisticsMode & in ucc_geth_startup()
2890 if (ug_info->rxExtendedFiltering) { in ucc_geth_startup()
2891 if (!ug_info->extendedFilteringChainPointer) { in ucc_geth_startup()
2914 (u32) ug_info->extendedFilteringChainPointer); in ucc_geth_startup()
2969 ((u32) ug_info->numThreadsRx) << ENET_INIT_PARAM_RGF_SHIFT; in ucc_geth_startup()
2971 ((u32) ug_info->numThreadsTx) << ENET_INIT_PARAM_TGF_SHIFT; in ucc_geth_startup()
2974 ugeth->rx_glbl_pram_offset | ug_info->riscRx; in ucc_geth_startup()
2975 if ((ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2977 (ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2979 (ug_info->largestexternallookupkeysize != in ucc_geth_startup()
2986 ug_info->largestexternallookupkeysize; in ucc_geth_startup()
2988 if (ug_info->rxExtendedFiltering) { in ucc_geth_startup()
2990 if (ug_info->largestexternallookupkeysize == in ucc_geth_startup()
2994 if (ug_info->largestexternallookupkeysize == in ucc_geth_startup()
3005 ug_info->riscRx, 1)) != 0) { in ucc_geth_startup()
3012 ugeth->tx_glbl_pram_offset | ug_info->riscTx; in ucc_geth_startup()
3019 ug_info->riscTx, 0)) != 0) { in ucc_geth_startup()
3026 for (i = 0; i < ug_info->numQueuesRx; i++) { in ucc_geth_startup()
3070 ucc_fast_get_qe_cr_subblock(ugeth->ug_info->uf_info.ucc_num); in ucc_geth_startup()
3108 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); in ucc_geth_start_xmit()
3221 1) & RX_RING_MOD_MASK(ugeth->ug_info->bdRingLenRx[rxQ]); in ucc_geth_rx()
3264 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); in ucc_geth_tx()
3284 struct ucc_geth_info *ug_info; in ucc_geth_poll() local
3287 ug_info = ugeth->ug_info; in ucc_geth_poll()
3291 for (i = 0; i < ug_info->numQueuesTx; i++) in ucc_geth_poll()
3296 for (i = 0; i < ug_info->numQueuesRx; i++) in ucc_geth_poll()
3312 struct ucc_geth_info *ug_info; in ucc_geth_irq_handler() local
3319 ug_info = ugeth->ug_info; in ucc_geth_irq_handler()
3356 int irq = ugeth->ug_info->uf_info.irq; in ucc_netpoll()
3469 err = request_irq(ugeth->ug_info->uf_info.irq, ucc_geth_irq_handler, in ucc_geth_open()
3505 free_irq(ugeth->ug_info->uf_info.irq, ugeth->ndev); in ucc_geth_close()
3693 struct ucc_geth_info *ug_info; in ucc_geth_probe() local
3727 ug_info = &ugeth_info[ucc_num]; in ucc_geth_probe()
3728 if (ug_info == NULL) { in ucc_geth_probe()
3734 ug_info->uf_info.ucc_num = ucc_num; in ucc_geth_probe()
3738 ug_info->uf_info.rx_clock = qe_clock_source(sprop); in ucc_geth_probe()
3739 if ((ug_info->uf_info.rx_clock < QE_CLK_NONE) || in ucc_geth_probe()
3740 (ug_info->uf_info.rx_clock > QE_CLK24)) { in ucc_geth_probe()
3756 ug_info->uf_info.rx_clock = *prop; in ucc_geth_probe()
3761 ug_info->uf_info.tx_clock = qe_clock_source(sprop); in ucc_geth_probe()
3762 if ((ug_info->uf_info.tx_clock < QE_CLK_NONE) || in ucc_geth_probe()
3763 (ug_info->uf_info.tx_clock > QE_CLK24)) { in ucc_geth_probe()
3777 ug_info->uf_info.tx_clock = *prop; in ucc_geth_probe()
3784 ug_info->uf_info.regs = res.start; in ucc_geth_probe()
3785 ug_info->uf_info.irq = irq_of_parse_and_map(np, 0); in ucc_geth_probe()
3787 ug_info->phy_node = of_parse_phandle(np, "phy-handle", 0); in ucc_geth_probe()
3788 if (!ug_info->phy_node && of_phy_is_fixed_link(np)) { in ucc_geth_probe()
3796 ug_info->phy_node = of_node_get(np); in ucc_geth_probe()
3800 ug_info->tbi_node = of_parse_phandle(np, "tbi-handle", 0); in ucc_geth_probe()
3806 prop = of_get_property(ug_info->phy_node, "interface", NULL); in ucc_geth_probe()
3838 ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT; in ucc_geth_probe()
3839 ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT; in ucc_geth_probe()
3840 ug_info->uf_info.urfset = UCC_GETH_URFSET_GIGA_INIT; in ucc_geth_probe()
3841 ug_info->uf_info.utfs = UCC_GETH_UTFS_GIGA_INIT; in ucc_geth_probe()
3842 ug_info->uf_info.utfet = UCC_GETH_UTFET_GIGA_INIT; in ucc_geth_probe()
3843 ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; in ucc_geth_probe()
3844 ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; in ucc_geth_probe()
3851 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; in ucc_geth_probe()
3853 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; in ucc_geth_probe()
3858 ug_info->uf_info.ucc_num + 1, ug_info->uf_info.regs, in ucc_geth_probe()
3859 ug_info->uf_info.irq); in ucc_geth_probe()
3865 of_node_put(ug_info->tbi_node); in ucc_geth_probe()
3866 of_node_put(ug_info->phy_node); in ucc_geth_probe()
3880 dev->base_addr = (unsigned long)(ug_info->uf_info.regs); in ucc_geth_probe()
3905 of_node_put(ug_info->tbi_node); in ucc_geth_probe()
3906 of_node_put(ug_info->phy_node); in ucc_geth_probe()
3914 ugeth->ug_info = ug_info; in ucc_geth_probe()
3930 of_node_put(ugeth->ug_info->tbi_node); in ucc_geth_remove()
3931 of_node_put(ugeth->ug_info->phy_node); in ucc_geth_remove()