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
1239
nicvf_reclaim_rbdr(struct nicvf *nic, struct rbdr *rbdr, int qidx)
sys/dev/vnic/nicvf_queues.c
1245
rbdr->head =
sys/dev/vnic/nicvf_queues.c
1247
rbdr->tail =
sys/dev/vnic/nicvf_queues.c
1458
struct rbdr *rbdr;
sys/dev/vnic/nicvf_queues.c
1461
rbdr = &qs->rbdr[qidx];
sys/dev/vnic/nicvf_queues.c
1462
nicvf_reclaim_rbdr(nic, rbdr, qidx);
sys/dev/vnic/nicvf_queues.c
1468
(uint64_t)(rbdr->dmem.phys_base));
sys/dev/vnic/nicvf_queues.c
1477
rbdr_cfg.lines = rbdr->dma_size / 128;
sys/dev/vnic/nicvf_queues.c
1487
rbdr->thresh - 1);
sys/dev/vnic/nicvf_queues.c
1543
nicvf_free_rbdr(nic, &qs->rbdr[qidx]);
sys/dev/vnic/nicvf_queues.c
1562
if (nicvf_init_rbdr(nic, &qs->rbdr[qidx], qs->rbdr_len,
sys/dev/vnic/nicvf_queues.c
258
nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
sys/dev/vnic/nicvf_queues.c
277
err = bus_dmamap_load_mbuf_sg(rbdr->rbdr_buff_dmat, dmap, mbuf, segs,
sys/dev/vnic/nicvf_queues.c
284
bus_dmamap_destroy(rbdr->rbdr_buff_dmat, dmap);
sys/dev/vnic/nicvf_queues.c
296
rinfo->dmat = rbdr->rbdr_buff_dmat;
sys/dev/vnic/nicvf_queues.c
335
nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr, int ring_len,
sys/dev/vnic/nicvf_queues.c
345
err = nicvf_alloc_q_desc_mem(nic, &rbdr->dmem, ring_len,
sys/dev/vnic/nicvf_queues.c
353
rbdr->desc = rbdr->dmem.base;
sys/dev/vnic/nicvf_queues.c
358
rbdr->dma_size = buf_size - NICVF_RCV_BUF_ALIGN_BYTES;
sys/dev/vnic/nicvf_queues.c
359
rbdr->enable = TRUE;
sys/dev/vnic/nicvf_queues.c
360
rbdr->thresh = RBDR_THRESH;
sys/dev/vnic/nicvf_queues.c
361
rbdr->nic = nic;
sys/dev/vnic/nicvf_queues.c
362
rbdr->idx = qidx;
sys/dev/vnic/nicvf_queues.c
388
&rbdr->rbdr_buff_dmat); /* dmat */
sys/dev/vnic/nicvf_queues.c
396
rbdr->rbdr_buff_dmaps = malloc(sizeof(*rbdr->rbdr_buff_dmaps) *
sys/dev/vnic/nicvf_queues.c
400
err = bus_dmamap_create(rbdr->rbdr_buff_dmat, 0, &dmap);
sys/dev/vnic/nicvf_queues.c
406
rbdr->rbdr_buff_dmaps[idx] = dmap;
sys/dev/vnic/nicvf_queues.c
408
err = nicvf_alloc_rcv_buffer(nic, rbdr, dmap, M_WAITOK,
sys/dev/vnic/nicvf_queues.c
413
desc = GET_RBDR_DESC(rbdr, idx);
sys/dev/vnic/nicvf_queues.c
418
TASK_INIT(&rbdr->rbdr_task, 0, nicvf_rbdr_task, rbdr);
sys/dev/vnic/nicvf_queues.c
419
TASK_INIT(&rbdr->rbdr_task_nowait, 0, nicvf_rbdr_task_nowait, rbdr);
sys/dev/vnic/nicvf_queues.c
420
rbdr->rbdr_taskq = taskqueue_create_fast("nicvf_rbdr_taskq", M_WAITOK,
sys/dev/vnic/nicvf_queues.c
421
taskqueue_thread_enqueue, &rbdr->rbdr_taskq);
sys/dev/vnic/nicvf_queues.c
422
taskqueue_start_threads(&rbdr->rbdr_taskq, 1, PI_NET, "%s: rbdr_taskq",
sys/dev/vnic/nicvf_queues.c
430
nicvf_free_rbdr(struct nicvf *nic, struct rbdr *rbdr)
sys/dev/vnic/nicvf_queues.c
442
if ((qs == NULL) || (rbdr == NULL))
sys/dev/vnic/nicvf_queues.c
445
rbdr->enable = FALSE;
sys/dev/vnic/nicvf_queues.c
446
if (rbdr->rbdr_taskq != NULL) {
sys/dev/vnic/nicvf_queues.c
448
while (taskqueue_cancel(rbdr->rbdr_taskq,
sys/dev/vnic/nicvf_queues.c
449
&rbdr->rbdr_task_nowait, NULL) != 0) {
sys/dev/vnic/nicvf_queues.c
451
taskqueue_drain(rbdr->rbdr_taskq,
sys/dev/vnic/nicvf_queues.c
452
&rbdr->rbdr_task_nowait);
sys/dev/vnic/nicvf_queues.c
454
taskqueue_free(rbdr->rbdr_taskq);
sys/dev/vnic/nicvf_queues.c
455
rbdr->rbdr_taskq = NULL;
sys/dev/vnic/nicvf_queues.c
458
&rbdr->rbdr_task, NULL) != 0) {
sys/dev/vnic/nicvf_queues.c
460
taskqueue_drain(taskqueue_thread, &rbdr->rbdr_task);
sys/dev/vnic/nicvf_queues.c
474
if (rbdr->rbdr_buff_dmat != NULL) {
sys/dev/vnic/nicvf_queues.c
475
head = rbdr->head;
sys/dev/vnic/nicvf_queues.c
476
tail = rbdr->tail;
sys/dev/vnic/nicvf_queues.c
478
desc = GET_RBDR_DESC(rbdr, head);
sys/dev/vnic/nicvf_queues.c
481
bus_dmamap_unload(rbdr->rbdr_buff_dmat, rinfo->dmap);
sys/dev/vnic/nicvf_queues.c
486
head &= (rbdr->dmem.q_len - 1);
sys/dev/vnic/nicvf_queues.c
489
desc = GET_RBDR_DESC(rbdr, tail);
sys/dev/vnic/nicvf_queues.c
492
bus_dmamap_unload(rbdr->rbdr_buff_dmat, rinfo->dmap);
sys/dev/vnic/nicvf_queues.c
499
if (rbdr->rbdr_buff_dmaps[idx] == NULL)
sys/dev/vnic/nicvf_queues.c
501
err = bus_dmamap_destroy(rbdr->rbdr_buff_dmat,
sys/dev/vnic/nicvf_queues.c
502
rbdr->rbdr_buff_dmaps[idx]);
sys/dev/vnic/nicvf_queues.c
506
rbdr->rbdr_buff_dmaps[idx] = NULL;
sys/dev/vnic/nicvf_queues.c
510
err = bus_dma_tag_destroy(rbdr->rbdr_buff_dmat);
sys/dev/vnic/nicvf_queues.c
514
rbdr->head = 0;
sys/dev/vnic/nicvf_queues.c
515
rbdr->tail = 0;
sys/dev/vnic/nicvf_queues.c
519
nicvf_free_q_desc_mem(nic, &rbdr->dmem);
sys/dev/vnic/nicvf_queues.c
526
nicvf_refill_rbdr(struct rbdr *rbdr, int mflags)
sys/dev/vnic/nicvf_queues.c
541
nic = rbdr->nic;
sys/dev/vnic/nicvf_queues.c
543
rbdr_idx = rbdr->idx;
sys/dev/vnic/nicvf_queues.c
546
if (!rbdr->enable)
sys/dev/vnic/nicvf_queues.c
563
tail &= (rbdr->dmem.q_len - 1);
sys/dev/vnic/nicvf_queues.c
565
dmap = rbdr->rbdr_buff_dmaps[tail];
sys/dev/vnic/nicvf_queues.c
566
if (nicvf_alloc_rcv_buffer(nic, rbdr, dmap, mflags,
sys/dev/vnic/nicvf_queues.c
571
desc = GET_RBDR_DESC(rbdr, tail);
sys/dev/vnic/nicvf_queues.c
605
struct rbdr *rbdr;
sys/dev/vnic/nicvf_queues.c
608
rbdr = (struct rbdr *)arg;
sys/dev/vnic/nicvf_queues.c
610
err = nicvf_refill_rbdr(rbdr, M_WAITOK);
sys/dev/vnic/nicvf_queues.c
621
struct rbdr *rbdr;
sys/dev/vnic/nicvf_queues.c
624
rbdr = (struct rbdr *)arg;
sys/dev/vnic/nicvf_queues.c
626
err = nicvf_refill_rbdr(rbdr, M_NOWAIT);
sys/dev/vnic/nicvf_queues.c
632
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];