Lines Matching refs:rxBuf
34 vmxnet3_rxbuf_t *rxBuf; in vmxnet3_alloc_rxbuf() local
38 rxBuf = kmem_zalloc(sizeof (vmxnet3_rxbuf_t), flag); in vmxnet3_alloc_rxbuf()
39 if (!rxBuf) { in vmxnet3_alloc_rxbuf()
44 if ((err = vmxnet3_alloc_dma_mem_1(dp, &rxBuf->dma, (dp->cur_mtu + 18), in vmxnet3_alloc_rxbuf()
48 kmem_free(rxBuf, sizeof (vmxnet3_rxbuf_t)); in vmxnet3_alloc_rxbuf()
53 rxBuf->freeCB.free_func = vmxnet3_put_rxbuf; in vmxnet3_alloc_rxbuf()
54 rxBuf->freeCB.free_arg = (caddr_t)rxBuf; in vmxnet3_alloc_rxbuf()
55 rxBuf->dp = dp; in vmxnet3_alloc_rxbuf()
59 return (rxBuf); in vmxnet3_alloc_rxbuf()
63 vmxnet3_free_rxbuf(vmxnet3_softc_t *dp, vmxnet3_rxbuf_t *rxBuf) in vmxnet3_free_rxbuf() argument
65 vmxnet3_free_dma_mem(&rxBuf->dma); in vmxnet3_free_rxbuf()
66 kmem_free(rxBuf, sizeof (vmxnet3_rxbuf_t)); in vmxnet3_free_rxbuf()
89 vmxnet3_put_rxpool_buf(vmxnet3_softc_t *dp, vmxnet3_rxbuf_t *rxBuf, in vmxnet3_put_rxpool_buf() argument
100 rxBuf->next = rxPool->listHead; in vmxnet3_put_rxpool_buf()
101 rxPool->listHead = rxBuf; in vmxnet3_put_rxpool_buf()
113 vmxnet3_put_rxbuf(vmxnet3_rxbuf_t *rxBuf) in vmxnet3_put_rxbuf() argument
115 vmxnet3_softc_t *dp = rxBuf->dp; in vmxnet3_put_rxbuf()
117 if (!vmxnet3_put_rxpool_buf(dp, rxBuf, B_FALSE)) in vmxnet3_put_rxbuf()
118 vmxnet3_free_rxbuf(dp, rxBuf); in vmxnet3_put_rxbuf()
131 vmxnet3_rxbuf_t *rxBuf = NULL; in vmxnet3_get_rxpool_buf() local
135 rxBuf = rxPool->listHead; in vmxnet3_get_rxpool_buf()
136 rxPool->listHead = rxBuf->next; in vmxnet3_get_rxpool_buf()
142 return (rxBuf); in vmxnet3_get_rxpool_buf()
155 vmxnet3_rxbuf_t *rxBuf; in vmxnet3_rxpool_init() local
159 if ((rxBuf = vmxnet3_alloc_rxbuf(dp, B_FALSE)) == NULL) { in vmxnet3_rxpool_init()
163 VERIFY(vmxnet3_put_rxpool_buf(dp, rxBuf, B_TRUE)); in vmxnet3_rxpool_init()
167 while ((rxBuf = vmxnet3_get_rxpool_buf(dp)) != NULL) { in vmxnet3_rxpool_init()
168 vmxnet3_free_rxbuf(dp, rxBuf); in vmxnet3_rxpool_init()
189 vmxnet3_rxbuf_t *rxBuf = NULL; in vmxnet3_rx_populate() local
191 if (pool && (rxBuf = vmxnet3_get_rxpool_buf(dp)) == NULL) { in vmxnet3_rx_populate()
199 if (rxBuf == NULL && (!pool || dp->alloc_ok)) { in vmxnet3_rx_populate()
200 rxBuf = vmxnet3_alloc_rxbuf(dp, canSleep); in vmxnet3_rx_populate()
203 if (rxBuf != NULL) { in vmxnet3_rx_populate()
204 rxBuf->mblk = desballoc((uchar_t *)rxBuf->dma.buf, in vmxnet3_rx_populate()
205 rxBuf->dma.bufLen, BPRI_MED, &rxBuf->freeCB); in vmxnet3_rx_populate()
206 if (rxBuf->mblk == NULL) { in vmxnet3_rx_populate()
208 VERIFY(vmxnet3_put_rxpool_buf(dp, rxBuf, in vmxnet3_rx_populate()
211 vmxnet3_free_rxbuf(dp, rxBuf); in vmxnet3_rx_populate()
220 rxq->bufRing[idx].rxBuf = rxBuf; in vmxnet3_rx_populate()
221 rxDesc->rxd.addr = rxBuf->dma.bufPA; in vmxnet3_rx_populate()
222 rxDesc->rxd.len = rxBuf->dma.bufLen; in vmxnet3_rx_populate()
270 vmxnet3_free_rxbuf(dp, rxq->bufRing[cmdRing->next2fill].rxBuf); in vmxnet3_rxqueue_init()
282 vmxnet3_rxbuf_t *rxBuf; in vmxnet3_rxqueue_fini() local
288 while ((rxBuf = vmxnet3_get_rxpool_buf(dp))) in vmxnet3_rxqueue_fini()
289 vmxnet3_free_rxbuf(dp, rxBuf); in vmxnet3_rxqueue_fini()
293 rxBuf = rxq->bufRing[i].rxBuf; in vmxnet3_rxqueue_fini()
294 ASSERT(rxBuf); in vmxnet3_rxqueue_fini()
295 ASSERT(rxBuf->mblk); in vmxnet3_rxqueue_fini()
301 freemsg(rxBuf->mblk); in vmxnet3_rxqueue_fini()
358 vmxnet3_rxbuf_t *rxBuf = rxq->bufRing[rxdIdx].rxBuf; in vmxnet3_rx_intr() local
359 mblk_t *mblk = rxBuf->mblk; in vmxnet3_rx_intr()
371 ASSERT(rxBuf); in vmxnet3_rx_intr()