Symbol: rbdr
sys/dev/vnic/nicvf_main.c
1158
struct rbdr *rbdr;
sys/dev/vnic/nicvf_main.c
1170
rbdr = &qs->rbdr[qidx];
sys/dev/vnic/nicvf_main.c
1171
taskqueue_enqueue(rbdr->rbdr_taskq, &rbdr->rbdr_task_nowait);
sys/dev/vnic/nicvf_queues.c
1238
nicvf_reclaim_rbdr(struct nicvf *nic, struct rbdr *rbdr, int qidx)
sys/dev/vnic/nicvf_queues.c
1244
rbdr->head =
sys/dev/vnic/nicvf_queues.c
1246
rbdr->tail =
sys/dev/vnic/nicvf_queues.c
1457
struct rbdr *rbdr;
sys/dev/vnic/nicvf_queues.c
1460
rbdr = &qs->rbdr[qidx];
sys/dev/vnic/nicvf_queues.c
1461
nicvf_reclaim_rbdr(nic, rbdr, qidx);
sys/dev/vnic/nicvf_queues.c
1467
(uint64_t)(rbdr->dmem.phys_base));
sys/dev/vnic/nicvf_queues.c
1476
rbdr_cfg.lines = rbdr->dma_size / 128;
sys/dev/vnic/nicvf_queues.c
1486
rbdr->thresh - 1);
sys/dev/vnic/nicvf_queues.c
1542
nicvf_free_rbdr(nic, &qs->rbdr[qidx]);
sys/dev/vnic/nicvf_queues.c
1561
if (nicvf_init_rbdr(nic, &qs->rbdr[qidx], qs->rbdr_len,
sys/dev/vnic/nicvf_queues.c
257
nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
sys/dev/vnic/nicvf_queues.c
276
err = bus_dmamap_load_mbuf_sg(rbdr->rbdr_buff_dmat, dmap, mbuf, segs,
sys/dev/vnic/nicvf_queues.c
283
bus_dmamap_destroy(rbdr->rbdr_buff_dmat, dmap);
sys/dev/vnic/nicvf_queues.c
295
rinfo->dmat = rbdr->rbdr_buff_dmat;
sys/dev/vnic/nicvf_queues.c
334
nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr, int ring_len,
sys/dev/vnic/nicvf_queues.c
344
err = nicvf_alloc_q_desc_mem(nic, &rbdr->dmem, ring_len,
sys/dev/vnic/nicvf_queues.c
352
rbdr->desc = rbdr->dmem.base;
sys/dev/vnic/nicvf_queues.c
357
rbdr->dma_size = buf_size - NICVF_RCV_BUF_ALIGN_BYTES;
sys/dev/vnic/nicvf_queues.c
358
rbdr->enable = TRUE;
sys/dev/vnic/nicvf_queues.c
359
rbdr->thresh = RBDR_THRESH;
sys/dev/vnic/nicvf_queues.c
360
rbdr->nic = nic;
sys/dev/vnic/nicvf_queues.c
361
rbdr->idx = qidx;
sys/dev/vnic/nicvf_queues.c
387
&rbdr->rbdr_buff_dmat); /* dmat */
sys/dev/vnic/nicvf_queues.c
395
rbdr->rbdr_buff_dmaps = malloc(sizeof(*rbdr->rbdr_buff_dmaps) *
sys/dev/vnic/nicvf_queues.c
399
err = bus_dmamap_create(rbdr->rbdr_buff_dmat, 0, &dmap);
sys/dev/vnic/nicvf_queues.c
405
rbdr->rbdr_buff_dmaps[idx] = dmap;
sys/dev/vnic/nicvf_queues.c
407
err = nicvf_alloc_rcv_buffer(nic, rbdr, dmap, M_WAITOK,
sys/dev/vnic/nicvf_queues.c
412
desc = GET_RBDR_DESC(rbdr, idx);
sys/dev/vnic/nicvf_queues.c
417
TASK_INIT(&rbdr->rbdr_task, 0, nicvf_rbdr_task, rbdr);
sys/dev/vnic/nicvf_queues.c
418
TASK_INIT(&rbdr->rbdr_task_nowait, 0, nicvf_rbdr_task_nowait, rbdr);
sys/dev/vnic/nicvf_queues.c
419
rbdr->rbdr_taskq = taskqueue_create_fast("nicvf_rbdr_taskq", M_WAITOK,
sys/dev/vnic/nicvf_queues.c
420
taskqueue_thread_enqueue, &rbdr->rbdr_taskq);
sys/dev/vnic/nicvf_queues.c
421
taskqueue_start_threads(&rbdr->rbdr_taskq, 1, PI_NET, "%s: rbdr_taskq",
sys/dev/vnic/nicvf_queues.c
429
nicvf_free_rbdr(struct nicvf *nic, struct rbdr *rbdr)
sys/dev/vnic/nicvf_queues.c
441
if ((qs == NULL) || (rbdr == NULL))
sys/dev/vnic/nicvf_queues.c
444
rbdr->enable = FALSE;
sys/dev/vnic/nicvf_queues.c
445
if (rbdr->rbdr_taskq != NULL) {
sys/dev/vnic/nicvf_queues.c
447
while (taskqueue_cancel(rbdr->rbdr_taskq,
sys/dev/vnic/nicvf_queues.c
448
&rbdr->rbdr_task_nowait, NULL) != 0) {
sys/dev/vnic/nicvf_queues.c
450
taskqueue_drain(rbdr->rbdr_taskq,
sys/dev/vnic/nicvf_queues.c
451
&rbdr->rbdr_task_nowait);
sys/dev/vnic/nicvf_queues.c
453
taskqueue_free(rbdr->rbdr_taskq);
sys/dev/vnic/nicvf_queues.c
454
rbdr->rbdr_taskq = NULL;
sys/dev/vnic/nicvf_queues.c
457
&rbdr->rbdr_task, NULL) != 0) {
sys/dev/vnic/nicvf_queues.c
459
taskqueue_drain(taskqueue_thread, &rbdr->rbdr_task);
sys/dev/vnic/nicvf_queues.c
473
if (rbdr->rbdr_buff_dmat != NULL) {
sys/dev/vnic/nicvf_queues.c
474
head = rbdr->head;
sys/dev/vnic/nicvf_queues.c
475
tail = rbdr->tail;
sys/dev/vnic/nicvf_queues.c
477
desc = GET_RBDR_DESC(rbdr, head);
sys/dev/vnic/nicvf_queues.c
480
bus_dmamap_unload(rbdr->rbdr_buff_dmat, rinfo->dmap);
sys/dev/vnic/nicvf_queues.c
485
head &= (rbdr->dmem.q_len - 1);
sys/dev/vnic/nicvf_queues.c
488
desc = GET_RBDR_DESC(rbdr, tail);
sys/dev/vnic/nicvf_queues.c
491
bus_dmamap_unload(rbdr->rbdr_buff_dmat, rinfo->dmap);
sys/dev/vnic/nicvf_queues.c
498
if (rbdr->rbdr_buff_dmaps[idx] == NULL)
sys/dev/vnic/nicvf_queues.c
500
err = bus_dmamap_destroy(rbdr->rbdr_buff_dmat,
sys/dev/vnic/nicvf_queues.c
501
rbdr->rbdr_buff_dmaps[idx]);
sys/dev/vnic/nicvf_queues.c
505
rbdr->rbdr_buff_dmaps[idx] = NULL;
sys/dev/vnic/nicvf_queues.c
509
err = bus_dma_tag_destroy(rbdr->rbdr_buff_dmat);
sys/dev/vnic/nicvf_queues.c
513
rbdr->head = 0;
sys/dev/vnic/nicvf_queues.c
514
rbdr->tail = 0;
sys/dev/vnic/nicvf_queues.c
518
nicvf_free_q_desc_mem(nic, &rbdr->dmem);
sys/dev/vnic/nicvf_queues.c
525
nicvf_refill_rbdr(struct rbdr *rbdr, int mflags)
sys/dev/vnic/nicvf_queues.c
540
nic = rbdr->nic;
sys/dev/vnic/nicvf_queues.c
542
rbdr_idx = rbdr->idx;
sys/dev/vnic/nicvf_queues.c
545
if (!rbdr->enable)
sys/dev/vnic/nicvf_queues.c
562
tail &= (rbdr->dmem.q_len - 1);
sys/dev/vnic/nicvf_queues.c
564
dmap = rbdr->rbdr_buff_dmaps[tail];
sys/dev/vnic/nicvf_queues.c
565
if (nicvf_alloc_rcv_buffer(nic, rbdr, dmap, mflags,
sys/dev/vnic/nicvf_queues.c
570
desc = GET_RBDR_DESC(rbdr, tail);
sys/dev/vnic/nicvf_queues.c
604
struct rbdr *rbdr;
sys/dev/vnic/nicvf_queues.c
607
rbdr = (struct rbdr *)arg;
sys/dev/vnic/nicvf_queues.c
609
err = nicvf_refill_rbdr(rbdr, M_WAITOK);
sys/dev/vnic/nicvf_queues.c
620
struct rbdr *rbdr;
sys/dev/vnic/nicvf_queues.c
623
rbdr = (struct rbdr *)arg;
sys/dev/vnic/nicvf_queues.c
625
err = nicvf_refill_rbdr(rbdr, M_NOWAIT);
sys/dev/vnic/nicvf_queues.c
631
taskqueue_enqueue(taskqueue_thread, &rbdr->rbdr_task);
sys/dev/vnic/nicvf_queues.h
268
struct rbdr *rbdr_start;
sys/dev/vnic/nicvf_queues.h
269
struct rbdr *rbdr_cont;
sys/dev/vnic/nicvf_queues.h
352
struct rbdr rbdr[MAX_RCV_BUF_DESC_RINGS_PER_QS];