Lines Matching refs:fl

240 static inline unsigned int fl_cap(const struct sge_fl *fl)  in fl_cap()  argument
242 return fl->size - 8; /* 1 descriptor = 8 buffers */ in fl_cap()
255 const struct sge_fl *fl) in fl_starving() argument
259 return fl->avail - fl->pend_cred <= s->fl_starve_thres; in fl_starving()
675 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) in __refill_fl() argument
677 refill_fl(adap, fl, min(MAX_RX_REFILL, fl_cap(fl) - fl->avail), in __refill_fl()
2023 free_rx_bufs(q->adap, &rxq->fl, 1); in process_responses()
2032 rsd = &rxq->fl.sdesc[rxq->fl.cidx]; in process_responses()
2040 unmap_rx_buf(q->adap, &rxq->fl); in process_responses()
2060 restore_rx_bufs(&si, &rxq->fl, frags); in process_responses()
2077 if (q->offset >= 0 && rxq->fl.size - rxq->fl.avail >= 16) in process_responses()
2078 __refill_fl(q->adap, &rxq->fl); in process_responses()
2290 struct sge_fl *fl = s->egr_map[id]; in sge_rx_timer_cb() local
2295 if (fl_starving(adap, fl)) { in sge_rx_timer_cb()
2296 rxq = container_of(fl, struct sge_eth_rxq, fl); in sge_rx_timer_cb()
2298 fl->starving++; in sge_rx_timer_cb()
2442 struct sge_fl *fl, rspq_handler_t hnd) in t4_sge_alloc_rxq() argument
2475 if (fl) { in t4_sge_alloc_rxq()
2476 fl->size = roundup(fl->size, 8); in t4_sge_alloc_rxq()
2477 fl->desc = alloc_ring(adap->pdev_dev, fl->size, sizeof(__be64), in t4_sge_alloc_rxq()
2478 sizeof(struct rx_sw_desc), &fl->addr, in t4_sge_alloc_rxq()
2479 &fl->sdesc, s->stat_len, NUMA_NO_NODE); in t4_sge_alloc_rxq()
2480 if (!fl->desc) in t4_sge_alloc_rxq()
2483 flsz = fl->size / 8 + s->stat_len / sizeof(struct tx_desc); in t4_sge_alloc_rxq()
2491 c.fl0addr = cpu_to_be64(fl->addr); in t4_sge_alloc_rxq()
2515 iq->offset = fl ? 0 : -1; in t4_sge_alloc_rxq()
2519 if (fl) { in t4_sge_alloc_rxq()
2520 fl->cntxt_id = ntohs(c.fl0id); in t4_sge_alloc_rxq()
2521 fl->avail = fl->pend_cred = 0; in t4_sge_alloc_rxq()
2522 fl->pidx = fl->cidx = 0; in t4_sge_alloc_rxq()
2523 fl->alloc_failed = fl->large_alloc_failed = fl->starving = 0; in t4_sge_alloc_rxq()
2524 adap->sge.egr_map[fl->cntxt_id - adap->sge.egr_start] = fl; in t4_sge_alloc_rxq()
2529 fl->bar2_addr = bar2_address(adap, in t4_sge_alloc_rxq()
2530 fl->cntxt_id, in t4_sge_alloc_rxq()
2532 &fl->bar2_qid); in t4_sge_alloc_rxq()
2533 refill_fl(adap, fl, fl_cap(fl), GFP_KERNEL); in t4_sge_alloc_rxq()
2545 if (fl && fl->desc) { in t4_sge_alloc_rxq()
2546 kfree(fl->sdesc); in t4_sge_alloc_rxq()
2547 fl->sdesc = NULL; in t4_sge_alloc_rxq()
2549 fl->desc, fl->addr); in t4_sge_alloc_rxq()
2550 fl->desc = NULL; in t4_sge_alloc_rxq()
2747 struct sge_fl *fl) in free_rspq_fl() argument
2750 unsigned int fl_id = fl ? fl->cntxt_id : 0xffff; in free_rspq_fl()
2763 if (fl) { in free_rspq_fl()
2764 free_rx_bufs(adap, fl, fl->avail); in free_rspq_fl()
2765 dma_free_coherent(adap->pdev_dev, fl->size * 8 + s->stat_len, in free_rspq_fl()
2766 fl->desc, fl->addr); in free_rspq_fl()
2767 kfree(fl->sdesc); in free_rspq_fl()
2768 fl->sdesc = NULL; in free_rspq_fl()
2769 fl->cntxt_id = 0; in free_rspq_fl()
2770 fl->desc = NULL; in free_rspq_fl()
2787 q->fl.size ? &q->fl : NULL); in t4_free_ofld_rxqs()
2806 eq->fl.size ? &eq->fl : NULL); in t4_free_sge_resources()