Lines Matching refs:grp
671 struct gfar_priv_grp *grp = &priv->gfargrp[priv->num_grps]; in gfar_parse_group() local
675 grp->irqinfo[i] = kzalloc(sizeof(struct gfar_irqinfo), in gfar_parse_group()
677 if (!grp->irqinfo[i]) in gfar_parse_group()
681 grp->regs = of_iomap(np, 0); in gfar_parse_group()
682 if (!grp->regs) in gfar_parse_group()
685 gfar_irq(grp, TX)->irq = irq_of_parse_and_map(np, 0); in gfar_parse_group()
689 gfar_irq(grp, RX)->irq = irq_of_parse_and_map(np, 1); in gfar_parse_group()
690 gfar_irq(grp, ER)->irq = irq_of_parse_and_map(np, 2); in gfar_parse_group()
691 if (gfar_irq(grp, TX)->irq == NO_IRQ || in gfar_parse_group()
692 gfar_irq(grp, RX)->irq == NO_IRQ || in gfar_parse_group()
693 gfar_irq(grp, ER)->irq == NO_IRQ) in gfar_parse_group()
697 grp->priv = priv; in gfar_parse_group()
698 spin_lock_init(&grp->grplock); in gfar_parse_group()
703 grp->rx_bit_map = (DEFAULT_MAPPING >> priv->num_grps); in gfar_parse_group()
704 grp->tx_bit_map = (DEFAULT_MAPPING >> priv->num_grps); in gfar_parse_group()
708 grp->rx_bit_map = rxq_mask ? in gfar_parse_group()
714 grp->tx_bit_map = txq_mask ? in gfar_parse_group()
720 grp->rx_bit_map = (DEFAULT_MAPPING >> priv->num_grps); in gfar_parse_group()
721 grp->tx_bit_map = (DEFAULT_MAPPING >> priv->num_grps); in gfar_parse_group()
724 grp->rx_bit_map = 0xFF; in gfar_parse_group()
725 grp->tx_bit_map = 0xFF; in gfar_parse_group()
731 grp->rx_bit_map = bitrev8(grp->rx_bit_map); in gfar_parse_group()
732 grp->tx_bit_map = bitrev8(grp->tx_bit_map); in gfar_parse_group()
737 for_each_set_bit(i, &grp->rx_bit_map, priv->num_rx_queues) { in gfar_parse_group()
738 if (!grp->rx_queue) in gfar_parse_group()
739 grp->rx_queue = priv->rx_queue[i]; in gfar_parse_group()
740 grp->num_rx_queues++; in gfar_parse_group()
741 grp->rstat |= (RSTAT_CLEAR_RHALT >> i); in gfar_parse_group()
743 priv->rx_queue[i]->grp = grp; in gfar_parse_group()
746 for_each_set_bit(i, &grp->tx_bit_map, priv->num_tx_queues) { in gfar_parse_group()
747 if (!grp->tx_queue) in gfar_parse_group()
748 grp->tx_queue = priv->tx_queue[i]; in gfar_parse_group()
749 grp->num_tx_queues++; in gfar_parse_group()
750 grp->tstat |= (TSTAT_CLEAR_THALT >> i); in gfar_parse_group()
752 priv->tx_queue[i]->grp = grp; in gfar_parse_group()
1468 struct gfar_priv_grp *grp = &priv->gfargrp[i]; in gfar_probe() local
1470 sprintf(gfar_irq(grp, TX)->name, "%s%s%c%s", in gfar_probe()
1472 sprintf(gfar_irq(grp, RX)->name, "%s%s%c%s", in gfar_probe()
1474 sprintf(gfar_irq(grp, ER)->name, "%s%s%c%s", in gfar_probe()
1477 strcpy(gfar_irq(grp, TX)->name, dev->name); in gfar_probe()
2017 static void free_grp_irqs(struct gfar_priv_grp *grp) in free_grp_irqs() argument
2019 free_irq(gfar_irq(grp, TX)->irq, grp); in free_grp_irqs()
2020 free_irq(gfar_irq(grp, RX)->irq, grp); in free_grp_irqs()
2021 free_irq(gfar_irq(grp, ER)->irq, grp); in free_grp_irqs()
2024 static int register_grp_irqs(struct gfar_priv_grp *grp) in register_grp_irqs() argument
2026 struct gfar_private *priv = grp->priv; in register_grp_irqs()
2037 err = request_irq(gfar_irq(grp, ER)->irq, gfar_error, 0, in register_grp_irqs()
2038 gfar_irq(grp, ER)->name, grp); in register_grp_irqs()
2041 gfar_irq(grp, ER)->irq); in register_grp_irqs()
2045 err = request_irq(gfar_irq(grp, TX)->irq, gfar_transmit, 0, in register_grp_irqs()
2046 gfar_irq(grp, TX)->name, grp); in register_grp_irqs()
2049 gfar_irq(grp, TX)->irq); in register_grp_irqs()
2052 err = request_irq(gfar_irq(grp, RX)->irq, gfar_receive, 0, in register_grp_irqs()
2053 gfar_irq(grp, RX)->name, grp); in register_grp_irqs()
2056 gfar_irq(grp, RX)->irq); in register_grp_irqs()
2060 err = request_irq(gfar_irq(grp, TX)->irq, gfar_interrupt, 0, in register_grp_irqs()
2061 gfar_irq(grp, TX)->name, grp); in register_grp_irqs()
2064 gfar_irq(grp, TX)->irq); in register_grp_irqs()
2072 free_irq(gfar_irq(grp, TX)->irq, grp); in register_grp_irqs()
2074 free_irq(gfar_irq(grp, ER)->irq, grp); in register_grp_irqs()
2264 regs = tx_queue->grp->regs; in gfar_start_xmit()
2781 struct gfar_priv_grp *grp = (struct gfar_priv_grp *)grp_id; in gfar_receive() local
2785 if (likely(napi_schedule_prep(&grp->napi_rx))) { in gfar_receive()
2786 spin_lock_irqsave(&grp->grplock, flags); in gfar_receive()
2787 imask = gfar_read(&grp->regs->imask); in gfar_receive()
2789 gfar_write(&grp->regs->imask, imask); in gfar_receive()
2790 spin_unlock_irqrestore(&grp->grplock, flags); in gfar_receive()
2791 __napi_schedule(&grp->napi_rx); in gfar_receive()
2796 gfar_write(&grp->regs->ievent, IEVENT_RX_MASK); in gfar_receive()
2805 struct gfar_priv_grp *grp = (struct gfar_priv_grp *)grp_id; in gfar_transmit() local
2809 if (likely(napi_schedule_prep(&grp->napi_tx))) { in gfar_transmit()
2810 spin_lock_irqsave(&grp->grplock, flags); in gfar_transmit()
2811 imask = gfar_read(&grp->regs->imask); in gfar_transmit()
2813 gfar_write(&grp->regs->imask, imask); in gfar_transmit()
2814 spin_unlock_irqrestore(&grp->grplock, flags); in gfar_transmit()
2815 __napi_schedule(&grp->napi_tx); in gfar_transmit()
2820 gfar_write(&grp->regs->ievent, IEVENT_TX_MASK); in gfar_transmit()
2951 &rx_queue->grp->napi_rx); in gfar_clean_rx_ring()
3157 struct gfar_priv_grp *grp = &priv->gfargrp[i]; in gfar_netpoll() local
3159 disable_irq(gfar_irq(grp, TX)->irq); in gfar_netpoll()
3160 disable_irq(gfar_irq(grp, RX)->irq); in gfar_netpoll()
3161 disable_irq(gfar_irq(grp, ER)->irq); in gfar_netpoll()
3162 gfar_interrupt(gfar_irq(grp, TX)->irq, grp); in gfar_netpoll()
3163 enable_irq(gfar_irq(grp, ER)->irq); in gfar_netpoll()
3164 enable_irq(gfar_irq(grp, RX)->irq); in gfar_netpoll()
3165 enable_irq(gfar_irq(grp, TX)->irq); in gfar_netpoll()
3169 struct gfar_priv_grp *grp = &priv->gfargrp[i]; in gfar_netpoll() local
3171 disable_irq(gfar_irq(grp, TX)->irq); in gfar_netpoll()
3172 gfar_interrupt(gfar_irq(grp, TX)->irq, grp); in gfar_netpoll()
3173 enable_irq(gfar_irq(grp, TX)->irq); in gfar_netpoll()