Lines Matching refs:sf_cdata

1024 	    &sc->sf_cdata.sf_parent_tag);
1030 error = bus_dma_tag_create(sc->sf_cdata.sf_parent_tag,/* parent */
1040 &sc->sf_cdata.sf_tx_ring_tag);
1047 error = bus_dma_tag_create(sc->sf_cdata.sf_parent_tag,/* parent */
1057 &sc->sf_cdata.sf_tx_cring_tag);
1065 error = bus_dma_tag_create(sc->sf_cdata.sf_parent_tag,/* parent */
1075 &sc->sf_cdata.sf_rx_ring_tag);
1083 error = bus_dma_tag_create(sc->sf_cdata.sf_parent_tag,/* parent */
1093 &sc->sf_cdata.sf_rx_cring_tag);
1101 error = bus_dma_tag_create(sc->sf_cdata.sf_parent_tag,/* parent */
1111 &sc->sf_cdata.sf_tx_tag);
1118 error = bus_dma_tag_create(sc->sf_cdata.sf_parent_tag,/* parent */
1128 &sc->sf_cdata.sf_rx_tag);
1135 error = bus_dmamem_alloc(sc->sf_cdata.sf_tx_ring_tag,
1137 BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->sf_cdata.sf_tx_ring_map);
1145 error = bus_dmamap_load(sc->sf_cdata.sf_tx_ring_tag,
1146 sc->sf_cdata.sf_tx_ring_map, sc->sf_rdata.sf_tx_ring,
1158 error = bus_dmamem_alloc(sc->sf_cdata.sf_tx_cring_tag,
1160 BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->sf_cdata.sf_tx_cring_map);
1169 error = bus_dmamap_load(sc->sf_cdata.sf_tx_cring_tag,
1170 sc->sf_cdata.sf_tx_cring_map, sc->sf_rdata.sf_tx_cring,
1180 error = bus_dmamem_alloc(sc->sf_cdata.sf_rx_ring_tag,
1182 BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->sf_cdata.sf_rx_ring_map);
1190 error = bus_dmamap_load(sc->sf_cdata.sf_rx_ring_tag,
1191 sc->sf_cdata.sf_rx_ring_map, sc->sf_rdata.sf_rx_ring,
1203 error = bus_dmamem_alloc(sc->sf_cdata.sf_rx_cring_tag,
1205 BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->sf_cdata.sf_rx_cring_map);
1214 error = bus_dmamap_load(sc->sf_cdata.sf_rx_cring_tag,
1215 sc->sf_cdata.sf_rx_cring_map, sc->sf_rdata.sf_rx_cring,
1255 txd = &sc->sf_cdata.sf_txdesc[i];
1259 error = bus_dmamap_create(sc->sf_cdata.sf_tx_tag, 0,
1268 if ((error = bus_dmamap_create(sc->sf_cdata.sf_rx_tag, 0,
1269 &sc->sf_cdata.sf_rx_sparemap)) != 0) {
1275 rxd = &sc->sf_cdata.sf_rxdesc[i];
1278 error = bus_dmamap_create(sc->sf_cdata.sf_rx_tag, 0,
1299 if (sc->sf_cdata.sf_tx_ring_tag) {
1301 bus_dmamap_unload(sc->sf_cdata.sf_tx_ring_tag,
1302 sc->sf_cdata.sf_tx_ring_map);
1304 bus_dmamem_free(sc->sf_cdata.sf_tx_ring_tag,
1306 sc->sf_cdata.sf_tx_ring_map);
1309 bus_dma_tag_destroy(sc->sf_cdata.sf_tx_ring_tag);
1310 sc->sf_cdata.sf_tx_ring_tag = NULL;
1313 if (sc->sf_cdata.sf_tx_cring_tag) {
1315 bus_dmamap_unload(sc->sf_cdata.sf_tx_cring_tag,
1316 sc->sf_cdata.sf_tx_cring_map);
1318 bus_dmamem_free(sc->sf_cdata.sf_tx_cring_tag,
1320 sc->sf_cdata.sf_tx_cring_map);
1323 bus_dma_tag_destroy(sc->sf_cdata.sf_tx_cring_tag);
1324 sc->sf_cdata.sf_tx_cring_tag = NULL;
1327 if (sc->sf_cdata.sf_rx_ring_tag) {
1329 bus_dmamap_unload(sc->sf_cdata.sf_rx_ring_tag,
1330 sc->sf_cdata.sf_rx_ring_map);
1332 bus_dmamem_free(sc->sf_cdata.sf_rx_ring_tag,
1334 sc->sf_cdata.sf_rx_ring_map);
1337 bus_dma_tag_destroy(sc->sf_cdata.sf_rx_ring_tag);
1338 sc->sf_cdata.sf_rx_ring_tag = NULL;
1341 if (sc->sf_cdata.sf_rx_cring_tag) {
1343 bus_dmamap_unload(sc->sf_cdata.sf_rx_cring_tag,
1344 sc->sf_cdata.sf_rx_cring_map);
1346 bus_dmamem_free(sc->sf_cdata.sf_rx_cring_tag,
1348 sc->sf_cdata.sf_rx_cring_map);
1351 bus_dma_tag_destroy(sc->sf_cdata.sf_rx_cring_tag);
1352 sc->sf_cdata.sf_rx_cring_tag = NULL;
1355 if (sc->sf_cdata.sf_tx_tag) {
1357 txd = &sc->sf_cdata.sf_txdesc[i];
1359 bus_dmamap_destroy(sc->sf_cdata.sf_tx_tag,
1364 bus_dma_tag_destroy(sc->sf_cdata.sf_tx_tag);
1365 sc->sf_cdata.sf_tx_tag = NULL;
1368 if (sc->sf_cdata.sf_rx_tag) {
1370 rxd = &sc->sf_cdata.sf_rxdesc[i];
1372 bus_dmamap_destroy(sc->sf_cdata.sf_rx_tag,
1377 if (sc->sf_cdata.sf_rx_sparemap) {
1378 bus_dmamap_destroy(sc->sf_cdata.sf_rx_tag,
1379 sc->sf_cdata.sf_rx_sparemap);
1380 sc->sf_cdata.sf_rx_sparemap = 0;
1382 bus_dma_tag_destroy(sc->sf_cdata.sf_rx_tag);
1383 sc->sf_cdata.sf_rx_tag = NULL;
1386 if (sc->sf_cdata.sf_parent_tag) {
1387 bus_dma_tag_destroy(sc->sf_cdata.sf_parent_tag);
1388 sc->sf_cdata.sf_parent_tag = NULL;
1398 sc->sf_cdata.sf_rxc_cons = 0;
1409 bus_dmamap_sync(sc->sf_cdata.sf_rx_cring_tag,
1410 sc->sf_cdata.sf_rx_cring_map,
1412 bus_dmamap_sync(sc->sf_cdata.sf_rx_ring_tag,
1413 sc->sf_cdata.sf_rx_ring_map,
1425 sc->sf_cdata.sf_tx_prod = 0;
1426 sc->sf_cdata.sf_tx_cnt = 0;
1427 sc->sf_cdata.sf_txc_cons = 0;
1434 sc->sf_cdata.sf_txdesc[i].tx_m = NULL;
1435 sc->sf_cdata.sf_txdesc[i].ndesc = 0;
1439 bus_dmamap_sync(sc->sf_cdata.sf_tx_ring_tag,
1440 sc->sf_cdata.sf_tx_ring_map,
1442 bus_dmamap_sync(sc->sf_cdata.sf_tx_cring_tag,
1443 sc->sf_cdata.sf_tx_cring_map,
1466 if (bus_dmamap_load_mbuf_sg(sc->sf_cdata.sf_rx_tag,
1467 sc->sf_cdata.sf_rx_sparemap, m, segs, &nsegs, 0) != 0) {
1473 rxd = &sc->sf_cdata.sf_rxdesc[idx];
1475 bus_dmamap_sync(sc->sf_cdata.sf_rx_tag, rxd->rx_dmamap,
1477 bus_dmamap_unload(sc->sf_cdata.sf_rx_tag, rxd->rx_dmamap);
1480 rxd->rx_dmamap = sc->sf_cdata.sf_rx_sparemap;
1481 sc->sf_cdata.sf_rx_sparemap = map;
1482 bus_dmamap_sync(sc->sf_cdata.sf_rx_tag, rxd->rx_dmamap,
1541 bus_dmamap_sync(sc->sf_cdata.sf_rx_ring_tag,
1542 sc->sf_cdata.sf_rx_ring_map,
1544 bus_dmamap_sync(sc->sf_cdata.sf_rx_cring_tag,
1545 sc->sf_cdata.sf_rx_cring_map,
1554 for (cons = sc->sf_cdata.sf_rxc_cons;
1570 rxd = &sc->sf_cdata.sf_rxdesc[eidx];
1662 sc->sf_cdata.sf_rxc_cons = cons;
1663 bus_dmamap_sync(sc->sf_cdata.sf_rx_ring_tag,
1664 sc->sf_cdata.sf_rx_ring_map,
1666 bus_dmamap_sync(sc->sf_cdata.sf_rx_cring_tag,
1667 sc->sf_cdata.sf_rx_cring_map,
1703 bus_dmamap_sync(sc->sf_cdata.sf_tx_cring_tag,
1704 sc->sf_cdata.sf_tx_cring_map,
1707 cons = sc->sf_cdata.sf_txc_cons;
1732 txd = &sc->sf_cdata.sf_txdesc[idx];
1734 bus_dmamap_sync(sc->sf_cdata.sf_tx_tag,
1737 bus_dmamap_unload(sc->sf_cdata.sf_tx_tag,
1742 sc->sf_cdata.sf_tx_cnt -= txd->ndesc;
1743 KASSERT(sc->sf_cdata.sf_tx_cnt >= 0,
1759 sc->sf_cdata.sf_txc_cons = cons;
1760 bus_dmamap_sync(sc->sf_cdata.sf_tx_cring_tag,
1761 sc->sf_cdata.sf_tx_cring_map,
1764 if (sc->sf_cdata.sf_tx_cnt == 0)
2171 prod = sc->sf_cdata.sf_tx_prod;
2172 txd = &sc->sf_cdata.sf_txdesc[prod];
2174 error = bus_dmamap_load_mbuf_sg(sc->sf_cdata.sf_tx_tag, map,
2184 error = bus_dmamap_load_mbuf_sg(sc->sf_cdata.sf_tx_tag,
2200 avail = (SF_TX_DLIST_CNT - 1) - sc->sf_cdata.sf_tx_cnt;
2202 bus_dmamap_unload(sc->sf_cdata.sf_tx_tag, map);
2209 bus_dmamap_unload(sc->sf_cdata.sf_tx_tag, map);
2214 bus_dmamap_sync(sc->sf_cdata.sf_tx_tag, map, BUS_DMASYNC_PREWRITE);
2231 sc->sf_cdata.sf_tx_prod = prod;
2232 sc->sf_cdata.sf_tx_cnt += nsegs + nskip;
2279 sc->sf_cdata.sf_tx_cnt < SF_TX_DLIST_CNT - SF_MAXTXSEGS; ) {
2305 bus_dmamap_sync(sc->sf_cdata.sf_tx_ring_tag,
2306 sc->sf_cdata.sf_tx_ring_map,
2310 sc->sf_cdata.sf_tx_prod * (sizeof(struct sf_tx_rdesc) / 8));
2358 rxd = &sc->sf_cdata.sf_rxdesc[i];
2360 bus_dmamap_sync(sc->sf_cdata.sf_rx_tag,
2362 bus_dmamap_unload(sc->sf_cdata.sf_rx_tag,
2369 txd = &sc->sf_cdata.sf_txdesc[i];
2371 bus_dmamap_sync(sc->sf_cdata.sf_tx_tag,
2373 bus_dmamap_unload(sc->sf_cdata.sf_tx_tag,
2565 sc->sf_cdata.sf_tx_cnt);