Lines Matching refs:fl

169 	return container_of(q, struct sge_qset, fl[qidx]);  in fl_to_qset()
558 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) in __refill_fl() argument
560 refill_fl(adap, fl, min(MAX_RX_REFILL, fl->size - fl->credits), in __refill_fl()
653 memset(q->fl, 0, sizeof(struct sge_fl) * SGE_RXQ_PER_SET); in t3_reset_qset()
678 if (q->fl[i].desc) { in t3_free_qset()
680 t3_sge_disable_fl(adapter, q->fl[i].cntxt_id); in t3_free_qset()
682 free_rx_bufs(pdev, &q->fl[i]); in t3_free_qset()
683 kfree(q->fl[i].sdesc); in t3_free_qset()
685 q->fl[i].size * in t3_free_qset()
686 sizeof(struct rx_desc), q->fl[i].desc, in t3_free_qset()
687 q->fl[i].phys_addr); in t3_free_qset()
729 qs->fl[0].cntxt_id = 2 * id; in init_qset_cntxt()
730 qs->fl[1].cntxt_id = 2 * id + 1; in init_qset_cntxt()
779 static struct sk_buff *get_packet(struct adapter *adap, struct sge_fl *fl, in get_packet() argument
783 struct rx_sw_desc *sd = &fl->sdesc[fl->cidx]; in get_packet()
786 fl->credits--; in get_packet()
802 recycle_rx_buf(adap, fl, fl->cidx); in get_packet()
806 if (unlikely(fl->credits < drop_thres) && in get_packet()
807 refill_fl(adap, fl, min(MAX_RX_REFILL, fl->size - fl->credits - 1), in get_packet()
813 fl->buf_size, PCI_DMA_FROMDEVICE); in get_packet()
816 __refill_fl(adap, fl); in get_packet()
838 static struct sk_buff *get_packet_pg(struct adapter *adap, struct sge_fl *fl, in get_packet_pg() argument
843 struct rx_sw_desc *sd = &fl->sdesc[fl->cidx]; in get_packet_pg()
861 fl->credits--; in get_packet_pg()
862 recycle_rx_buf(adap, fl, fl->cidx); in get_packet_pg()
867 if (unlikely(q->rx_recycle_buf || (!skb && fl->credits <= drop_thres))) in get_packet_pg()
884 if (!*sd->pg_chunk.p_cnt && sd->pg_chunk.page != fl->pg_chunk.page) in get_packet_pg()
887 fl->alloc_size, in get_packet_pg()
907 fl->credits--; in get_packet_pg()
2064 struct sge_fl *fl, int len, int complete) in lro_add_page() argument
2066 struct rx_sw_desc *sd = &fl->sdesc[fl->cidx]; in lro_add_page()
2079 fl->credits--; in lro_add_page()
2083 fl->buf_size - SGE_PG_RSVD, in lro_add_page()
2087 if (!*sd->pg_chunk.p_cnt && sd->pg_chunk.page != fl->pg_chunk.page) in lro_add_page()
2090 fl->alloc_size, in lro_add_page()
2302 struct sge_fl *fl; in process_responses() local
2306 fl = (len & F_RSPD_FLQ) ? &qs->fl[1] : &qs->fl[0]; in process_responses()
2307 if (fl->use_pages) { in process_responses()
2308 void *addr = fl->sdesc[fl->cidx].pg_chunk.va; in process_responses()
2314 __refill_fl(adap, fl); in process_responses()
2316 lro_add_page(adap, qs, fl, in process_responses()
2322 skb = get_packet_pg(adap, fl, q, in process_responses()
2328 skb = get_packet(adap, fl, G_RSPD_LEN(len), in process_responses()
2337 if (++fl->cidx == fl->size) in process_responses()
2338 fl->cidx = 0; in process_responses()
2928 if (qs->fl[0].credits < qs->fl[0].size) in sge_timer_rx()
2929 __refill_fl(adap, &qs->fl[0]); in sge_timer_rx()
2930 if (qs->fl[1].credits < qs->fl[1].size) in sge_timer_rx()
2931 __refill_fl(adap, &qs->fl[1]); in sge_timer_rx()
2982 q->fl[0].desc = alloc_ring(adapter->pdev, p->fl_size, in t3_sge_alloc_qset()
2985 &q->fl[0].phys_addr, &q->fl[0].sdesc); in t3_sge_alloc_qset()
2986 if (!q->fl[0].desc) in t3_sge_alloc_qset()
2989 q->fl[1].desc = alloc_ring(adapter->pdev, p->jumbo_size, in t3_sge_alloc_qset()
2992 &q->fl[1].phys_addr, &q->fl[1].sdesc); in t3_sge_alloc_qset()
2993 if (!q->fl[1].desc) in t3_sge_alloc_qset()
3027 q->fl[0].gen = q->fl[1].gen = 1; in t3_sge_alloc_qset()
3028 q->fl[0].size = p->fl_size; in t3_sge_alloc_qset()
3029 q->fl[1].size = p->jumbo_size; in t3_sge_alloc_qset()
3040 q->fl[0].buf_size = FL0_PG_CHUNK_SIZE; in t3_sge_alloc_qset()
3042 q->fl[0].buf_size = SGE_RX_SM_BUF_SIZE + sizeof(struct cpl_rx_data); in t3_sge_alloc_qset()
3045 q->fl[1].buf_size = FL1_PG_CHUNK_SIZE; in t3_sge_alloc_qset()
3047 q->fl[1].buf_size = is_offload(adapter) ? in t3_sge_alloc_qset()
3052 q->fl[0].use_pages = FL0_PG_CHUNK_SIZE > 0; in t3_sge_alloc_qset()
3053 q->fl[1].use_pages = FL1_PG_CHUNK_SIZE > 0; in t3_sge_alloc_qset()
3054 q->fl[0].order = FL0_PG_ORDER; in t3_sge_alloc_qset()
3055 q->fl[1].order = FL1_PG_ORDER; in t3_sge_alloc_qset()
3056 q->fl[0].alloc_size = FL0_PG_ALLOC_SIZE; in t3_sge_alloc_qset()
3057 q->fl[1].alloc_size = FL1_PG_ALLOC_SIZE; in t3_sge_alloc_qset()
3064 q->fl[0].buf_size - SGE_PG_RSVD, 1, 0); in t3_sge_alloc_qset()
3069 ret = t3_sge_init_flcntxt(adapter, q->fl[i].cntxt_id, 0, in t3_sge_alloc_qset()
3070 q->fl[i].phys_addr, q->fl[i].size, in t3_sge_alloc_qset()
3071 q->fl[i].buf_size - SGE_PG_RSVD, in t3_sge_alloc_qset()
3110 avail = refill_fl(adapter, &q->fl[0], q->fl[0].size, in t3_sge_alloc_qset()
3116 if (avail < q->fl[0].size) in t3_sge_alloc_qset()
3120 avail = refill_fl(adapter, &q->fl[1], q->fl[1].size, in t3_sge_alloc_qset()
3122 if (avail < q->fl[1].size) in t3_sge_alloc_qset()