Lines Matching refs:rxr

946 	struct vmxnet3_rxring *rxr;
959 rxr = &rxq->vxrxq_cmd_ring[i];
960 rxr->vxrxr_rid = i;
961 rxr->vxrxr_ndesc = sc->vmx_nrxdescs;
962 rxr->vxrxr_rxbuf = malloc(rxr->vxrxr_ndesc *
964 if (rxr->vxrxr_rxbuf == NULL)
1051 struct vmxnet3_rxring *rxr;
1058 rxr = &rxq->vxrxq_cmd_ring[i];
1060 if (rxr->vxrxr_rxbuf != NULL) {
1061 free(rxr->vxrxr_rxbuf, M_DEVBUF);
1062 rxr->vxrxr_rxbuf = NULL;
1304 struct vmxnet3_rxring *rxr;
1317 rxr = &rxq->vxrxq_cmd_ring[i];
1319 descsz = rxr->vxrxr_ndesc *
1321 compsz += rxr->vxrxr_ndesc *
1334 &rxr->vxrxr_rxtag);
1343 &rxr->vxrxr_dma);
1350 rxr->vxrxr_rxd =
1351 (struct vmxnet3_rxdesc *) rxr->vxrxr_dma.dma_vaddr;
1364 rxr = &rxq->vxrxq_cmd_ring[i];
1366 error = bus_dmamap_create(rxr->vxrxr_rxtag, 0,
1367 &rxr->vxrxr_spare_dmap);
1375 for (j = 0; j < rxr->vxrxr_ndesc; j++) {
1376 error = bus_dmamap_create(rxr->vxrxr_rxtag, 0,
1377 &rxr->vxrxr_rxbuf[j].vrxb_dmamap);
1397 struct vmxnet3_rxring *rxr;
1409 rxr = &rxq->vxrxq_cmd_ring[i];
1411 if (rxr->vxrxr_spare_dmap != NULL) {
1412 bus_dmamap_destroy(rxr->vxrxr_rxtag,
1413 rxr->vxrxr_spare_dmap);
1414 rxr->vxrxr_spare_dmap = NULL;
1417 for (j = 0; j < rxr->vxrxr_ndesc; j++) {
1418 rxb = &rxr->vxrxr_rxbuf[j];
1420 bus_dmamap_destroy(rxr->vxrxr_rxtag,
1433 rxr = &rxq->vxrxq_cmd_ring[i];
1435 if (rxr->vxrxr_rxd != NULL) {
1436 vmxnet3_dma_free(sc, &rxr->vxrxr_dma);
1437 rxr->vxrxr_rxd = NULL;
1440 if (rxr->vxrxr_rxtag != NULL) {
1441 bus_dma_tag_destroy(rxr->vxrxr_rxtag);
1442 rxr->vxrxr_rxtag = NULL;
1876 vmxnet3_newbuf(struct vmxnet3_softc *sc, struct vmxnet3_rxring *rxr)
1888 tag = rxr->vxrxr_rxtag;
1889 dmap = rxr->vxrxr_spare_dmap;
1890 idx = rxr->vxrxr_fill;
1891 rxd = &rxr->vxrxr_rxd[idx];
1892 rxb = &rxr->vxrxr_rxbuf[idx];
1896 if (rxr->vxrxr_rid != 0)
1900 if (rxr->vxrxr_rid == 0 && (idx % sc->vmx_rx_max_chain) == 0) {
1952 rxr->vxrxr_spare_dmap = rxb->vrxb_dmamap;
1959 rxd->gen = rxr->vxrxr_gen;
1961 vmxnet3_rxr_increment_fill(rxr);
1967 struct vmxnet3_rxring *rxr, int idx)
1971 rxd = &rxr->vxrxr_rxd[idx];
1972 rxd->gen = rxr->vxrxr_gen;
1973 vmxnet3_rxr_increment_fill(rxr);
1980 struct vmxnet3_rxring *rxr;
2002 rxr = &rxq->vxrxq_cmd_ring[0];
2004 rxr = &rxq->vxrxq_cmd_ring[1];
2005 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2092 struct vmxnet3_rxring *rxr;
2131 rxr = &rxq->vxrxq_cmd_ring[0];
2133 rxr = &rxq->vxrxq_cmd_ring[1];
2134 rxd = &rxr->vxrxr_rxd[idx];
2136 m = rxr->vxrxr_rxbuf[idx].vrxb_m;
2145 if (__predict_false(rxr->vxrxr_fill != idx)) {
2146 while (rxr->vxrxr_fill != idx) {
2147 rxr->vxrxr_rxd[rxr->vxrxr_fill].gen =
2148 rxr->vxrxr_gen;
2149 vmxnet3_rxr_increment_fill(rxr);
2156 KASSERT(rxr == &rxq->vxrxq_cmd_ring[0],
2166 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2170 if (vmxnet3_newbuf(sc, rxr) != 0) {
2172 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2189 if (vmxnet3_newbuf(sc, rxr) != 0) {
2191 vmxnet3_rxq_eof_discard(rxq, rxr, idx);
2219 idx = (idx + 1) % rxr->vxrxr_ndesc;
2344 struct vmxnet3_rxring *rxr;
2355 rxr = &rxq->vxrxq_cmd_ring[i];
2357 for (j = 0; j < rxr->vxrxr_ndesc; j++) {
2358 rxb = &rxr->vxrxr_rxbuf[j];
2363 bus_dmamap_sync(rxr->vxrxr_rxtag, rxb->vrxb_dmamap,
2365 bus_dmamap_unload(rxr->vxrxr_rxtag, rxb->vrxb_dmamap);
2443 struct vmxnet3_rxring *rxr;
2477 rxr = &rxq->vxrxq_cmd_ring[i];
2478 rxr->vxrxr_fill = 0;
2479 rxr->vxrxr_gen = VMXNET3_INIT_GEN;
2480 bzero(rxr->vxrxr_rxd,
2481 rxr->vxrxr_ndesc * sizeof(struct vmxnet3_rxdesc));
2483 for (idx = 0; idx < rxr->vxrxr_ndesc; idx++) {
2484 error = vmxnet3_newbuf(sc, rxr);
2491 rxr = &rxq->vxrxq_cmd_ring[i];
2492 rxr->vxrxr_fill = 0;
2493 rxr->vxrxr_gen = 0;
2494 bzero(rxr->vxrxr_rxd,
2495 rxr->vxrxr_ndesc * sizeof(struct vmxnet3_rxdesc));