Lines Matching refs:kr_cdata

663 	prod = sc->kr_cdata.kr_tx_prod;
664 txd = &sc->kr_cdata.kr_txdesc[prod];
665 error = bus_dmamap_load_mbuf_sg(sc->kr_cdata.kr_tx_tag, txd->tx_dmamap,
678 if (sc->kr_cdata.kr_tx_cnt + nsegs >= (KR_TX_RING_CNT - 1)) {
679 bus_dmamap_unload(sc->kr_cdata.kr_tx_tag, txd->tx_dmamap);
684 bus_dmamap_sync(sc->kr_cdata.kr_tx_tag, txd->tx_dmamap,
707 sc->kr_cdata.kr_tx_cnt++;
721 sc->kr_cdata.kr_tx_prod = prod;
724 bus_dmamap_sync(sc->kr_cdata.kr_tx_ring_tag,
725 sc->kr_cdata.kr_tx_ring_map,
762 sc->kr_cdata.kr_tx_cnt < KR_TX_RING_CNT - 2; ) {
987 &sc->kr_cdata.kr_parent_tag);
994 sc->kr_cdata.kr_parent_tag, /* parent */
1004 &sc->kr_cdata.kr_tx_ring_tag);
1012 sc->kr_cdata.kr_parent_tag, /* parent */
1022 &sc->kr_cdata.kr_rx_ring_tag);
1030 sc->kr_cdata.kr_parent_tag, /* parent */
1040 &sc->kr_cdata.kr_tx_tag);
1048 sc->kr_cdata.kr_parent_tag, /* parent */
1058 &sc->kr_cdata.kr_rx_tag);
1065 error = bus_dmamem_alloc(sc->kr_cdata.kr_tx_ring_tag,
1067 BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->kr_cdata.kr_tx_ring_map);
1075 error = bus_dmamap_load(sc->kr_cdata.kr_tx_ring_tag,
1076 sc->kr_cdata.kr_tx_ring_map, sc->kr_rdata.kr_tx_ring,
1086 error = bus_dmamem_alloc(sc->kr_cdata.kr_rx_ring_tag,
1088 BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->kr_cdata.kr_rx_ring_map);
1096 error = bus_dmamap_load(sc->kr_cdata.kr_rx_ring_tag,
1097 sc->kr_cdata.kr_rx_ring_map, sc->kr_rdata.kr_rx_ring,
1108 txd = &sc->kr_cdata.kr_txdesc[i];
1111 error = bus_dmamap_create(sc->kr_cdata.kr_tx_tag, 0,
1120 if ((error = bus_dmamap_create(sc->kr_cdata.kr_rx_tag, 0,
1121 &sc->kr_cdata.kr_rx_sparemap)) != 0) {
1127 rxd = &sc->kr_cdata.kr_rxdesc[i];
1130 error = bus_dmamap_create(sc->kr_cdata.kr_rx_tag, 0,
1151 if (sc->kr_cdata.kr_tx_ring_tag) {
1153 bus_dmamap_unload(sc->kr_cdata.kr_tx_ring_tag,
1154 sc->kr_cdata.kr_tx_ring_map);
1156 bus_dmamem_free(sc->kr_cdata.kr_tx_ring_tag,
1158 sc->kr_cdata.kr_tx_ring_map);
1161 bus_dma_tag_destroy(sc->kr_cdata.kr_tx_ring_tag);
1162 sc->kr_cdata.kr_tx_ring_tag = NULL;
1165 if (sc->kr_cdata.kr_rx_ring_tag) {
1167 bus_dmamap_unload(sc->kr_cdata.kr_rx_ring_tag,
1168 sc->kr_cdata.kr_rx_ring_map);
1170 bus_dmamem_free(sc->kr_cdata.kr_rx_ring_tag,
1172 sc->kr_cdata.kr_rx_ring_map);
1175 bus_dma_tag_destroy(sc->kr_cdata.kr_rx_ring_tag);
1176 sc->kr_cdata.kr_rx_ring_tag = NULL;
1179 if (sc->kr_cdata.kr_tx_tag) {
1181 txd = &sc->kr_cdata.kr_txdesc[i];
1183 bus_dmamap_destroy(sc->kr_cdata.kr_tx_tag,
1188 bus_dma_tag_destroy(sc->kr_cdata.kr_tx_tag);
1189 sc->kr_cdata.kr_tx_tag = NULL;
1192 if (sc->kr_cdata.kr_rx_tag) {
1194 rxd = &sc->kr_cdata.kr_rxdesc[i];
1196 bus_dmamap_destroy(sc->kr_cdata.kr_rx_tag,
1201 if (sc->kr_cdata.kr_rx_sparemap) {
1202 bus_dmamap_destroy(sc->kr_cdata.kr_rx_tag,
1203 sc->kr_cdata.kr_rx_sparemap);
1204 sc->kr_cdata.kr_rx_sparemap = 0;
1206 bus_dma_tag_destroy(sc->kr_cdata.kr_rx_tag);
1207 sc->kr_cdata.kr_rx_tag = NULL;
1210 if (sc->kr_cdata.kr_parent_tag) {
1211 bus_dma_tag_destroy(sc->kr_cdata.kr_parent_tag);
1212 sc->kr_cdata.kr_parent_tag = NULL;
1227 sc->kr_cdata.kr_tx_prod = 0;
1228 sc->kr_cdata.kr_tx_cons = 0;
1229 sc->kr_cdata.kr_tx_cnt = 0;
1230 sc->kr_cdata.kr_tx_pkts = 0;
1243 txd = &sc->kr_cdata.kr_txdesc[i];
1247 bus_dmamap_sync(sc->kr_cdata.kr_tx_ring_tag,
1248 sc->kr_cdata.kr_tx_ring_map,
1267 sc->kr_cdata.kr_rx_cons = 0;
1272 rxd = &sc->kr_cdata.kr_rxdesc[i];
1289 bus_dmamap_sync(sc->kr_cdata.kr_rx_ring_tag,
1290 sc->kr_cdata.kr_rx_ring_map,
1315 if (bus_dmamap_load_mbuf_sg(sc->kr_cdata.kr_rx_tag,
1316 sc->kr_cdata.kr_rx_sparemap, m, segs, &nsegs, 0) != 0) {
1322 rxd = &sc->kr_cdata.kr_rxdesc[idx];
1324 bus_dmamap_sync(sc->kr_cdata.kr_rx_tag, rxd->rx_dmamap,
1326 bus_dmamap_unload(sc->kr_cdata.kr_rx_tag, rxd->rx_dmamap);
1329 rxd->rx_dmamap = sc->kr_cdata.kr_rx_sparemap;
1330 sc->kr_cdata.kr_rx_sparemap = map;
1331 bus_dmamap_sync(sc->kr_cdata.kr_rx_tag, rxd->rx_dmamap,
1370 cons = sc->kr_cdata.kr_tx_cons;
1371 prod = sc->kr_cdata.kr_tx_prod;
1375 bus_dmamap_sync(sc->kr_cdata.kr_tx_ring_tag,
1376 sc->kr_cdata.kr_tx_ring_map,
1392 sc->kr_cdata.kr_tx_cnt--;
1395 txd = &sc->kr_cdata.kr_txdesc[cons];
1407 bus_dmamap_sync(sc->kr_cdata.kr_tx_tag, txd->tx_dmamap,
1409 bus_dmamap_unload(sc->kr_cdata.kr_tx_tag, txd->tx_dmamap);
1423 sc->kr_cdata.kr_tx_cons = cons;
1425 bus_dmamap_sync(sc->kr_cdata.kr_tx_ring_tag,
1426 sc->kr_cdata.kr_tx_ring_map, BUS_DMASYNC_PREWRITE);
1441 cons = sc->kr_cdata.kr_rx_cons;
1443 bus_dmamap_sync(sc->kr_cdata.kr_rx_ring_tag,
1444 sc->kr_cdata.kr_rx_ring_map,
1449 rxd = &sc->kr_cdata.kr_rxdesc[cons];
1470 bus_dmamap_sync(sc->kr_cdata.kr_rx_tag, rxd->rx_dmamap,
1504 bus_dmamap_sync(sc->kr_cdata.kr_rx_ring_tag,
1505 sc->kr_cdata.kr_rx_ring_map,
1511 sc->kr_cdata.kr_rx_cons = cons;
1513 bus_dmamap_sync(sc->kr_cdata.kr_rx_ring_tag,
1514 sc->kr_cdata.kr_rx_ring_map,
1545 KR_RX_RING_ADDR(sc, sc->kr_cdata.kr_rx_cons));