Lines Matching refs:rxq_info

138 			  struct sge_uld_rxq_info *rxq_info, bool lro)  in alloc_uld_rxqs()  argument
141 unsigned int nq = rxq_info->nrxq + rxq_info->nciq; in alloc_uld_rxqs()
142 struct sge_ofld_rxq *q = rxq_info->uldrxq; in alloc_uld_rxqs()
143 unsigned short *ids = rxq_info->rspq_id; in alloc_uld_rxqs()
148 per_chan = rxq_info->nrxq / adap->params.nports; in alloc_uld_rxqs()
156 if (i == rxq_info->nrxq) { in alloc_uld_rxqs()
158 per_chan = rxq_info->nciq / adap->params.nports; in alloc_uld_rxqs()
176 rxq_info->msix_tbl[i] = bmap_idx; in alloc_uld_rxqs()
183 q = rxq_info->uldrxq; in alloc_uld_rxqs()
195 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in setup_sge_queues_uld() local
199 rxq_info->msix_tbl = kcalloc((rxq_info->nrxq + rxq_info->nciq), in setup_sge_queues_uld()
202 if (!rxq_info->msix_tbl) in setup_sge_queues_uld()
206 ret = !(!alloc_uld_rxqs(adap, rxq_info, lro)); in setup_sge_queues_uld()
217 cmplqid = rxq_info->uldrxq[i].rspq.cntxt_id; in setup_sge_queues_uld()
240 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_sge_queues_uld() local
257 if (rxq_info->nciq) in free_sge_queues_uld()
258 t4_free_uld_rxqs(adap, rxq_info->nciq, in free_sge_queues_uld()
259 rxq_info->uldrxq + rxq_info->nrxq); in free_sge_queues_uld()
260 t4_free_uld_rxqs(adap, rxq_info->nrxq, rxq_info->uldrxq); in free_sge_queues_uld()
262 kfree(rxq_info->msix_tbl); in free_sge_queues_uld()
269 struct sge_uld_rxq_info *rxq_info; in cfg_queues_uld() local
272 rxq_info = kzalloc(sizeof(*rxq_info), GFP_KERNEL); in cfg_queues_uld()
273 if (!rxq_info) in cfg_queues_uld()
278 rxq_info->nrxq = roundup(i, adap->params.nports); in cfg_queues_uld()
282 rxq_info->nrxq = roundup(i, adap->params.nports); in cfg_queues_uld()
285 rxq_info->nciq = 0; in cfg_queues_uld()
288 rxq_info->nciq = min_t(int, s->nqs_per_uld, in cfg_queues_uld()
291 rxq_info->nciq = min_t(int, MAX_OFLD_QSETS, in cfg_queues_uld()
293 rxq_info->nciq = ((rxq_info->nciq / adap->params.nports) * in cfg_queues_uld()
295 rxq_info->nciq = max_t(int, rxq_info->nciq, in cfg_queues_uld()
299 nrxq = rxq_info->nrxq + rxq_info->nciq; /* total rxq's */ in cfg_queues_uld()
300 rxq_info->uldrxq = kcalloc(nrxq, sizeof(struct sge_ofld_rxq), in cfg_queues_uld()
302 if (!rxq_info->uldrxq) { in cfg_queues_uld()
303 kfree(rxq_info); in cfg_queues_uld()
307 rxq_info->rspq_id = kcalloc(nrxq, sizeof(unsigned short), GFP_KERNEL); in cfg_queues_uld()
308 if (!rxq_info->rspq_id) { in cfg_queues_uld()
309 kfree(rxq_info->uldrxq); in cfg_queues_uld()
310 kfree(rxq_info); in cfg_queues_uld()
314 for (i = 0; i < rxq_info->nrxq; i++) { in cfg_queues_uld()
315 struct sge_ofld_rxq *r = &rxq_info->uldrxq[i]; in cfg_queues_uld()
328 for (i = rxq_info->nrxq; i < nrxq; i++) { in cfg_queues_uld()
329 struct sge_ofld_rxq *r = &rxq_info->uldrxq[i]; in cfg_queues_uld()
335 memcpy(rxq_info->name, uld_info->name, IFNAMSIZ); in cfg_queues_uld()
336 adap->sge.uld_rxq_info[uld_type] = rxq_info; in cfg_queues_uld()
343 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_queues_uld() local
346 kfree(rxq_info->rspq_id); in free_queues_uld()
347 kfree(rxq_info->uldrxq); in free_queues_uld()
348 kfree(rxq_info); in free_queues_uld()
354 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in request_msix_queue_irqs_uld() local
358 for_each_uldrxq(rxq_info, idx) { in request_msix_queue_irqs_uld()
359 bmap_idx = rxq_info->msix_tbl[idx]; in request_msix_queue_irqs_uld()
363 &rxq_info->uldrxq[idx].rspq); in request_msix_queue_irqs_uld()
370 bmap_idx = rxq_info->msix_tbl[idx]; in request_msix_queue_irqs_uld()
373 &rxq_info->uldrxq[idx].rspq); in request_msix_queue_irqs_uld()
381 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in free_msix_queue_irqs_uld() local
384 for_each_uldrxq(rxq_info, idx) { in free_msix_queue_irqs_uld()
385 bmap_idx = rxq_info->msix_tbl[idx]; in free_msix_queue_irqs_uld()
389 &rxq_info->uldrxq[idx].rspq); in free_msix_queue_irqs_uld()
395 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in name_msix_vecs_uld() local
399 for_each_uldrxq(rxq_info, idx) { in name_msix_vecs_uld()
400 bmap_idx = rxq_info->msix_tbl[idx]; in name_msix_vecs_uld()
403 adap->port[0]->name, rxq_info->name, idx); in name_msix_vecs_uld()
429 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in enable_rx_uld() local
432 for_each_uldrxq(rxq_info, idx) in enable_rx_uld()
433 enable_rx(adap, &rxq_info->uldrxq[idx].rspq); in enable_rx_uld()
438 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in quiesce_rx_uld() local
441 for_each_uldrxq(rxq_info, idx) in quiesce_rx_uld()
442 quiesce_rx(adap, &rxq_info->uldrxq[idx].rspq); in quiesce_rx_uld()
548 struct sge_uld_rxq_info *rxq_info = adap->sge.uld_rxq_info[uld_type]; in uld_queue_init() local
550 lli->rxq_ids = rxq_info->rspq_id; in uld_queue_init()
551 lli->nrxq = rxq_info->nrxq; in uld_queue_init()
552 lli->ciq_ids = rxq_info->rspq_id + rxq_info->nrxq; in uld_queue_init()
553 lli->nciq = rxq_info->nciq; in uld_queue_init()