Lines Matching refs:rxr

961 	struct vmxnet3_rxring *rxr;
974 rxr = &rxq->vxrxq_cmd_ring[i];
975 rxr->vxrxr_rid = i;
976 rxr->vxrxr_ndesc = sc->vmx_nrxdescs;
977 rxr->vxrxr_rxbuf = malloc(rxr->vxrxr_ndesc *
979 if (rxr->vxrxr_rxbuf == NULL)
1066 struct vmxnet3_rxring *rxr;
1073 rxr = &rxq->vxrxq_cmd_ring[i];
1075 if (rxr->vxrxr_rxbuf != NULL) {
1076 free(rxr->vxrxr_rxbuf, M_DEVBUF);
1077 rxr->vxrxr_rxbuf = NULL;
1319 struct vmxnet3_rxring *rxr;
1332 rxr = &rxq->vxrxq_cmd_ring[i];
1334 descsz = rxr->vxrxr_ndesc *
1336 compsz += rxr->vxrxr_ndesc *
1349 &rxr->vxrxr_rxtag);
1358 &rxr->vxrxr_dma);
1365 rxr->vxrxr_rxd =
1366 (struct vmxnet3_rxdesc *) rxr->vxrxr_dma.dma_vaddr;
1379 rxr = &rxq->vxrxq_cmd_ring[i];
1381 error = bus_dmamap_create(rxr->vxrxr_rxtag, 0,
1382 &rxr->vxrxr_spare_dmap);
1390 for (j = 0; j < rxr->vxrxr_ndesc; j++) {
1391 error = bus_dmamap_create(rxr->vxrxr_rxtag, 0,
1392 &rxr->vxrxr_rxbuf[j].vrxb_dmamap);
1412 struct vmxnet3_rxring *rxr;
1424 rxr = &rxq->vxrxq_cmd_ring[i];
1426 if (rxr->vxrxr_spare_dmap != NULL) {
1427 bus_dmamap_destroy(rxr->vxrxr_rxtag,
1428 rxr->vxrxr_spare_dmap);
1429 rxr->vxrxr_spare_dmap = NULL;
1432 for (j = 0; j < rxr->vxrxr_ndesc; j++) {
1433 rxb = &rxr->vxrxr_rxbuf[j];
1435 bus_dmamap_destroy(rxr->vxrxr_rxtag,
1448 rxr = &rxq->vxrxq_cmd_ring[i];
1450 if (rxr->vxrxr_rxd != NULL) {
1451 vmxnet3_dma_free(sc, &rxr->vxrxr_dma);
1452 rxr->vxrxr_rxd = NULL;
1455 if (rxr->vxrxr_rxtag != NULL) {
1456 bus_dma_tag_destroy(rxr->vxrxr_rxtag);
1457 rxr->vxrxr_rxtag = NULL;
1907 vmxnet3_newbuf(struct vmxnet3_softc *sc, struct vmxnet3_rxring *rxr)
1919 tag = rxr->vxrxr_rxtag;
1920 dmap = rxr->vxrxr_spare_dmap;
1921 idx = rxr->vxrxr_fill;
1922 rxd = &rxr->vxrxr_rxd[idx];
1923 rxb = &rxr->vxrxr_rxbuf[idx];
1927 if (rxr->vxrxr_rid != 0)
1931 if (rxr->vxrxr_rid == 0 && (idx % sc->vmx_rx_max_chain) == 0) {
1983 rxr->vxrxr_spare_dmap = rxb->vrxb_dmamap;
1990 rxd->gen = rxr->vxrxr_gen;
1992 vmxnet3_rxr_increment_fill(rxr);
1998 struct vmxnet3_rxring *rxr, int idx)
2002 rxd = &rxr->vxrxr_rxd[idx];
2003 rxd->gen = rxr->vxrxr_gen;
2004 vmxnet3_rxr_increment_fill(rxr);
2011 struct vmxnet3_rxring *rxr;
2033 rxr = &rxq->vxrxq_cmd_ring[0];
2035 rxr = &rxq->vxrxq_cmd_ring[1];
2036 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2123 struct vmxnet3_rxring *rxr;
2171 rxr = &rxq->vxrxq_cmd_ring[0];
2173 rxr = &rxq->vxrxq_cmd_ring[1];
2174 rxd = &rxr->vxrxr_rxd[idx];
2176 m = rxr->vxrxr_rxbuf[idx].vrxb_m;
2185 if (__predict_false(rxr->vxrxr_fill != idx)) {
2186 while (rxr->vxrxr_fill != idx) {
2187 rxr->vxrxr_rxd[rxr->vxrxr_fill].gen =
2188 rxr->vxrxr_gen;
2189 vmxnet3_rxr_increment_fill(rxr);
2196 KASSERT(rxr == &rxq->vxrxq_cmd_ring[0],
2206 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2210 if (vmxnet3_newbuf(sc, rxr) != 0) {
2212 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2234 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2243 if (vmxnet3_newbuf(sc, rxr) != 0) {
2245 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2273 idx = (idx + 1) % rxr->vxrxr_ndesc;
2398 struct vmxnet3_rxring *rxr;
2409 rxr = &rxq->vxrxq_cmd_ring[i];
2411 for (j = 0; j < rxr->vxrxr_ndesc; j++) {
2412 rxb = &rxr->vxrxr_rxbuf[j];
2417 bus_dmamap_sync(rxr->vxrxr_rxtag, rxb->vrxb_dmamap,
2419 bus_dmamap_unload(rxr->vxrxr_rxtag, rxb->vrxb_dmamap);
2505 struct vmxnet3_rxring *rxr;
2548 rxr = &rxq->vxrxq_cmd_ring[i];
2549 rxr->vxrxr_fill = 0;
2550 rxr->vxrxr_gen = VMXNET3_INIT_GEN;
2551 bzero(rxr->vxrxr_rxd,
2552 rxr->vxrxr_ndesc * sizeof(struct vmxnet3_rxdesc));
2555 vmxnet3_netmap_rxq_init(sc, rxq, rxr, slot);
2561 for (idx = 0; idx < rxr->vxrxr_ndesc; idx++) {
2562 error = vmxnet3_newbuf(sc, rxr);
2569 rxr = &rxq->vxrxq_cmd_ring[i];
2570 rxr->vxrxr_fill = 0;
2571 rxr->vxrxr_gen = 0;
2572 bzero(rxr->vxrxr_rxd,
2573 rxr->vxrxr_ndesc * sizeof(struct vmxnet3_rxdesc));