freelQ
static void recycle_fl_buf(struct freelQ *fl, int idx)
struct freelQ *fl, unsigned int len)
static void unexpected_offload(struct adapter *adapter, struct freelQ *fl)
static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
struct freelQ *fl = &sge->freelQ[e->FreelistQid];
const struct freelQ *fl = &sge->freelQ[e->FreelistQid];
refill_free_list(sge, &sge->freelQ[0]);
refill_free_list(sge, &sge->freelQ[1]);
struct freelQ freelQ[SGE_FREELQ_N]; /* buffer free lists */
static void free_freelQ_buffers(struct pci_dev *pdev, struct freelQ *q)
struct freelQ *q = &sge->freelQ[i];
struct freelQ *q = &sge->freelQ[i];
sge->freelQ[!sge->jumbo_fl].rx_buffer_size = SGE_RX_SM_BUF_SIZE +
sge->freelQ[!sge->jumbo_fl].dma_offset;
sge->freelQ[sge->jumbo_fl].rx_buffer_size = size;
sge->freelQ[!sge->jumbo_fl].recycleq_idx = 0;
sge->freelQ[sge->jumbo_fl].recycleq_idx = 1;
setup_ring_params(ap, sge->freelQ[0].dma_addr,
sge->freelQ[0].size, A_SG_FL0BASELWR,
setup_ring_params(ap, sge->freelQ[1].dma_addr,
sge->freelQ[1].size, A_SG_FL1BASELWR,
return sge->freelQ[sge->jumbo_fl].rx_buffer_size -
sge->freelQ[sge->jumbo_fl].dma_offset -
static void refill_free_list(struct sge *sge, struct freelQ *q)
refill_free_list(sge, &sge->freelQ[0]);
refill_free_list(sge, &sge->freelQ[1]);
if (sge->freelQ[0].credits > (sge->freelQ[0].size >> 2) &&
sge->freelQ[1].credits > (sge->freelQ[1].size >> 2)) {