Lines Matching refs:fl

230 static inline unsigned int fl_cap(const struct sge_fl *fl)  in fl_cap()  argument
232 return fl->size - 8; /* 1 descriptor = 8 buffers */ in fl_cap()
245 const struct sge_fl *fl) in fl_starving() argument
249 return fl->avail - fl->pend_cred <= s->fl_starve_thres; in fl_starving()
673 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) in __refill_fl() argument
675 refill_fl(adap, fl, min(MAX_RX_REFILL, fl_cap(fl) - fl->avail), in __refill_fl()
2078 free_rx_bufs(q->adap, &rxq->fl, 1); in process_responses()
2087 rsd = &rxq->fl.sdesc[rxq->fl.cidx]; in process_responses()
2095 unmap_rx_buf(q->adap, &rxq->fl); in process_responses()
2117 restore_rx_bufs(&si, &rxq->fl, frags); in process_responses()
2134 if (q->offset >= 0 && rxq->fl.size - rxq->fl.avail >= 16) in process_responses()
2135 __refill_fl(q->adap, &rxq->fl); in process_responses()
2348 struct sge_fl *fl = s->egr_map[id]; in sge_rx_timer_cb() local
2353 if (fl_starving(adap, fl)) { in sge_rx_timer_cb()
2354 rxq = container_of(fl, struct sge_eth_rxq, fl); in sge_rx_timer_cb()
2356 fl->starving++; in sge_rx_timer_cb()
2452 struct sge_fl *fl, rspq_handler_t hnd, int cong) in t4_sge_alloc_rxq() argument
2488 if (fl) { in t4_sge_alloc_rxq()
2498 if (fl->size < s->fl_starve_thres - 1 + 2 * 8) in t4_sge_alloc_rxq()
2499 fl->size = s->fl_starve_thres - 1 + 2 * 8; in t4_sge_alloc_rxq()
2500 fl->size = roundup(fl->size, 8); in t4_sge_alloc_rxq()
2501 fl->desc = alloc_ring(adap->pdev_dev, fl->size, sizeof(__be64), in t4_sge_alloc_rxq()
2502 sizeof(struct rx_sw_desc), &fl->addr, in t4_sge_alloc_rxq()
2503 &fl->sdesc, s->stat_len, NUMA_NO_NODE); in t4_sge_alloc_rxq()
2504 if (!fl->desc) in t4_sge_alloc_rxq()
2507 flsz = fl->size / 8 + s->stat_len / sizeof(struct tx_desc); in t4_sge_alloc_rxq()
2523 c.fl0addr = cpu_to_be64(fl->addr); in t4_sge_alloc_rxq()
2547 iq->offset = fl ? 0 : -1; in t4_sge_alloc_rxq()
2551 if (fl) { in t4_sge_alloc_rxq()
2552 fl->cntxt_id = ntohs(c.fl0id); in t4_sge_alloc_rxq()
2553 fl->avail = fl->pend_cred = 0; in t4_sge_alloc_rxq()
2554 fl->pidx = fl->cidx = 0; in t4_sge_alloc_rxq()
2555 fl->alloc_failed = fl->large_alloc_failed = fl->starving = 0; in t4_sge_alloc_rxq()
2556 adap->sge.egr_map[fl->cntxt_id - adap->sge.egr_start] = fl; in t4_sge_alloc_rxq()
2561 fl->bar2_addr = bar2_address(adap, in t4_sge_alloc_rxq()
2562 fl->cntxt_id, in t4_sge_alloc_rxq()
2564 &fl->bar2_qid); in t4_sge_alloc_rxq()
2565 refill_fl(adap, fl, fl_cap(fl), GFP_KERNEL); in t4_sge_alloc_rxq()
2612 if (fl && fl->desc) { in t4_sge_alloc_rxq()
2613 kfree(fl->sdesc); in t4_sge_alloc_rxq()
2614 fl->sdesc = NULL; in t4_sge_alloc_rxq()
2616 fl->desc, fl->addr); in t4_sge_alloc_rxq()
2617 fl->desc = NULL; in t4_sge_alloc_rxq()
2817 struct sge_fl *fl) in free_rspq_fl() argument
2820 unsigned int fl_id = fl ? fl->cntxt_id : 0xffff; in free_rspq_fl()
2833 if (fl) { in free_rspq_fl()
2834 free_rx_bufs(adap, fl, fl->avail); in free_rspq_fl()
2835 dma_free_coherent(adap->pdev_dev, fl->size * 8 + s->stat_len, in free_rspq_fl()
2836 fl->desc, fl->addr); in free_rspq_fl()
2837 kfree(fl->sdesc); in free_rspq_fl()
2838 fl->sdesc = NULL; in free_rspq_fl()
2839 fl->cntxt_id = 0; in free_rspq_fl()
2840 fl->desc = NULL; in free_rspq_fl()
2857 q->fl.size ? &q->fl : NULL); in t4_free_ofld_rxqs()
2876 eq->fl.size ? &eq->fl : NULL); in t4_free_sge_resources()