Lines Matching defs:rxr

919 	struct rx_ring		*rxr = &que->rxr;
927 i = j = rxr->next_refresh;
933 buf = &rxr->buffers[i];
934 if (rxr->hdr_split == FALSE)
948 error = bus_dmamap_load_mbuf_sg(rxr->htag,
958 bus_dmamap_sync(rxr->htag, buf->hmap,
960 rxr->base[i].read.hdr_addr =
966 M_PKTHDR, rxr->mbuf_sz);
972 mp->m_pkthdr.len = mp->m_len = rxr->mbuf_sz;
974 error = bus_dmamap_load_mbuf_sg(rxr->ptag,
984 bus_dmamap_sync(rxr->ptag, buf->pmap,
986 rxr->base[i].read.pkt_addr =
989 rxr->base[i].read.hdr_addr = 0;
994 rxr->next_refresh = i;
1000 wr32(vsi->hw, rxr->tail, rxr->next_refresh);
1016 struct rx_ring *rxr = &que->rxr;
1023 if (!(rxr->buffers =
1042 &rxr->htag))) {
1058 &rxr->ptag))) {
1064 buf = &rxr->buffers[i];
1065 error = bus_dmamap_create(rxr->htag,
1071 error = bus_dmamap_create(rxr->ptag,
1091 struct rx_ring *rxr = &que->rxr;
1095 struct lro_ctrl *lro = &rxr->lro;
1101 IXL_RX_LOCK(rxr);
1105 bzero((void *)rxr->base, rsize);
1108 buf = &rxr->buffers[i];
1110 bus_dmamap_sync(rxr->htag, buf->hmap,
1112 bus_dmamap_unload(rxr->htag, buf->hmap);
1117 bus_dmamap_sync(rxr->ptag, buf->pmap,
1119 bus_dmamap_unload(rxr->ptag, buf->pmap);
1128 rxr->hdr_split = FALSE;
1134 buf = &rxr->buffers[j];
1139 if (rxr->hdr_split == FALSE)
1153 error = bus_dmamap_load_mbuf_sg(rxr->htag,
1158 bus_dmamap_sync(rxr->htag,
1161 rxr->base[j].read.hdr_addr = htole64(hseg[0].ds_addr);
1166 M_PKTHDR, rxr->mbuf_sz);
1172 mp->m_pkthdr.len = mp->m_len = rxr->mbuf_sz;
1174 error = bus_dmamap_load_mbuf_sg(rxr->ptag,
1179 bus_dmamap_sync(rxr->ptag,
1182 rxr->base[j].read.pkt_addr = htole64(pseg[0].ds_addr);
1183 rxr->base[j].read.hdr_addr = 0;
1188 rxr->next_check = 0;
1189 rxr->next_refresh = 0;
1190 rxr->lro_enabled = FALSE;
1191 rxr->split = 0;
1192 rxr->bytes = 0;
1193 rxr->discard = FALSE;
1195 wr32(vsi->hw, rxr->tail, que->num_desc - 1);
1209 rxr->lro_enabled = TRUE;
1214 bus_dmamap_sync(rxr->dma.tag, rxr->dma.map,
1218 IXL_RX_UNLOCK(rxr);
1231 struct rx_ring *rxr = &que->rxr;
1237 if (rxr->buffers != NULL) {
1239 buf = &rxr->buffers[i];
1241 bus_dmamap_sync(rxr->htag, buf->hmap,
1243 bus_dmamap_unload(rxr->htag, buf->hmap);
1248 bus_dmamap_sync(rxr->ptag, buf->pmap,
1250 bus_dmamap_unload(rxr->ptag, buf->pmap);
1257 bus_dmamap_destroy(rxr->htag, buf->hmap);
1261 bus_dmamap_destroy(rxr->ptag, buf->pmap);
1265 if (rxr->buffers != NULL) {
1266 free(rxr->buffers, M_DEVBUF);
1267 rxr->buffers = NULL;
1271 if (rxr->htag != NULL) {
1272 bus_dma_tag_destroy(rxr->htag);
1273 rxr->htag = NULL;
1275 if (rxr->ptag != NULL) {
1276 bus_dma_tag_destroy(rxr->ptag);
1277 rxr->ptag = NULL;
1285 ixl_rx_input(struct rx_ring *rxr, struct ifnet *ifp, struct mbuf *m, u8 ptype)
1294 if (rxr->lro_enabled &&
1304 if (rxr->lro.lro_cnt != 0)
1305 if (tcp_lro_rx(&rxr->lro, m, 0) == 0)
1309 IXL_RX_UNLOCK(rxr);
1311 IXL_RX_LOCK(rxr);
1316 ixl_rx_discard(struct rx_ring *rxr, int i)
1320 rbuf = &rxr->buffers[i];
1364 struct rx_ring *rxr = &que->rxr;
1367 struct lro_ctrl *lro = &rxr->lro;
1375 IXL_RX_LOCK(rxr);
1378 for (i = rxr->next_check; count != 0;) {
1387 bus_dmamap_sync(rxr->dma.tag, rxr->dma.map,
1390 cur = &rxr->base[i];
1404 ++rxr->not_done;
1415 rbuf = &rxr->buffers[i];
1430 rxr->discarded++;
1431 ixl_rx_discard(rxr, i);
1440 nbuf = &rxr->buffers[nextp];
1455 if (rxr->hdr_split && (rbuf->fmp == NULL)) {
1477 rxr->split++;
1538 rxr->rx_packets++;
1539 rxr->rx_bytes += sendmp->m_pkthdr.len;
1541 rxr->packets++;
1542 rxr->bytes += sendmp->m_pkthdr.len;
1549 bus_dmamap_sync(rxr->dma.tag, rxr->dma.map,
1558 rxr->next_check = i;
1559 ixl_rx_input(rxr, ifp, sendmp, ptype);
1560 i = rxr->next_check;
1574 rxr->next_check = i;
1586 IXL_RX_UNLOCK(rxr);