Lines Matching refs:rxqs

182 	struct funeth_rxq **rxqs = rtnl_dereference(fp->rxqs);
214 *indir_tab++ = cpu_to_be32(rxqs[*qtable++]->hw_cqid);
378 static void free_rxqs(struct funeth_rxq **rxqs, unsigned int nqs,
383 for (i = start; i < nqs && rxqs[i]; i++)
384 rxqs[i] = funeth_rxq_free(rxqs[i], state);
387 static int alloc_rxqs(struct net_device *dev, struct funeth_rxq **rxqs,
398 state, &rxqs[i]);
400 free_rxqs(rxqs, nqs, start, FUN_QSTATE_DESTROYED);
445 struct funeth_rxq **rxqs = qset->rxqs;
450 if (!rxqs) {
451 rxqs = rtnl_dereference(fp->rxqs);
458 if (!rxqs)
461 if (rxqs == rtnl_dereference(fp->rxqs)) {
462 rcu_assign_pointer(fp->rxqs, NULL);
468 free_rxqs(rxqs, qset->nrxqs, qset->rxq_start, qset->state);
472 kfree(rxqs);
475 qset->rxqs = rxqs;
482 struct funeth_rxq **rxqs;
489 rxqs = kcalloc(qset->ntxqs + qset->nrxqs, sizeof(*rxqs), GFP_KERNEL);
490 if (!rxqs)
502 txqs = (struct funeth_txq **)&rxqs[qset->nrxqs];
508 err = alloc_rxqs(netdev, rxqs, qset->nrxqs, qset->cq_depth,
513 qset->rxqs = rxqs;
523 kfree(rxqs);
536 err = fun_rxq_create_dev(qset->rxqs[i],
748 if (!rcu_access_pointer(fp->rxqs))
786 if (qset->rxqs[0]->init_state < FUN_QSTATE_INIT_FULL) {
797 rcu_assign_pointer(fp->rxqs, qset->rxqs);
811 qset->rxqs[0]->hw_cqid);
874 struct funeth_rxq **rxqs;
886 rxqs = rcu_dereference(fp->rxqs);
887 if (!rxqs)
902 FUN_QSTAT_READ(rxqs[i], start, rxs);
1082 struct funeth_rxq **rxqs;
1089 rxqs = rtnl_dereference(fp->rxqs);
1091 err = fun_rxq_set_bpf(rxqs[i], prog);
1101 fun_rxq_set_bpf(rxqs[i], NULL);
1112 struct funeth_rxq **rxqs;
1123 rxqs = rtnl_dereference(fp->rxqs);
1125 fun_rxq_set_bpf(rxqs[i], NULL);
1157 struct funeth_rxq **rxqs = rtnl_dereference(fp->rxqs);
1160 WRITE_ONCE(rxqs[i]->xdp_prog, prog);
1629 .rxqs = rtnl_dereference(fp->rxqs),
1658 memcpy(newqs.rxqs, oldqs.rxqs, keep_rx * sizeof(*oldqs.rxqs));
1667 fun_disable_one_irq(container_of(oldqs.rxqs[i]->napi,
1676 rcu_assign_pointer(fp->rxqs, newqs.rxqs);