Lines Matching refs:cd

755 	struct sge_chain_data *cd;
761 cd = &sc->sge_cdata;
774 &cd->sge_tag);
782 error = bus_dma_tag_create(cd->sge_tag,
792 &cd->sge_rx_tag);
799 error = bus_dmamem_alloc(cd->sge_rx_tag, (void **)&ld->sge_rx_ring,
801 &cd->sge_rx_dmamap);
807 error = bus_dmamap_load(cd->sge_rx_tag, cd->sge_rx_dmamap,
816 error = bus_dma_tag_create(cd->sge_tag,
826 &cd->sge_tx_tag);
833 error = bus_dmamem_alloc(cd->sge_tx_tag, (void **)&ld->sge_tx_ring,
835 &cd->sge_tx_dmamap);
841 error = bus_dmamap_load(cd->sge_tx_tag, cd->sge_tx_dmamap,
851 error = bus_dma_tag_create(cd->sge_tag, 1, 0, BUS_SPACE_MAXADDR,
853 SGE_TSO_MAXSEGSIZE, 0, NULL, NULL, &cd->sge_txmbuf_tag);
861 error = bus_dma_tag_create(cd->sge_tag, SGE_RX_BUF_ALIGN, 0,
863 MCLBYTES, 0, NULL, NULL, &cd->sge_rxmbuf_tag);
872 txd = &cd->sge_txdesc[i];
876 error = bus_dmamap_create(cd->sge_txmbuf_tag, 0,
885 error = bus_dmamap_create(cd->sge_rxmbuf_tag, 0, &cd->sge_rx_spare_map);
893 rxd = &cd->sge_rxdesc[i];
896 error = bus_dmamap_create(cd->sge_rxmbuf_tag, 0,
911 struct sge_chain_data *cd;
917 cd = &sc->sge_cdata;
920 if (cd->sge_rx_tag != NULL) {
922 bus_dmamap_unload(cd->sge_rx_tag, cd->sge_rx_dmamap);
924 bus_dmamem_free(cd->sge_rx_tag, ld->sge_rx_ring,
925 cd->sge_rx_dmamap);
928 bus_dma_tag_destroy(cd->sge_rx_tag);
929 cd->sge_rx_tag = NULL;
932 if (cd->sge_tx_tag != NULL) {
934 bus_dmamap_unload(cd->sge_tx_tag, cd->sge_tx_dmamap);
936 bus_dmamem_free(cd->sge_tx_tag, ld->sge_tx_ring,
937 cd->sge_tx_dmamap);
940 bus_dma_tag_destroy(cd->sge_tx_tag);
941 cd->sge_tx_tag = NULL;
944 if (cd->sge_rxmbuf_tag != NULL) {
946 rxd = &cd->sge_rxdesc[i];
948 bus_dmamap_destroy(cd->sge_rxmbuf_tag,
953 if (cd->sge_rx_spare_map != NULL) {
954 bus_dmamap_destroy(cd->sge_rxmbuf_tag,
955 cd->sge_rx_spare_map);
956 cd->sge_rx_spare_map = NULL;
958 bus_dma_tag_destroy(cd->sge_rxmbuf_tag);
959 cd->sge_rxmbuf_tag = NULL;
962 if (cd->sge_txmbuf_tag != NULL) {
964 txd = &cd->sge_txdesc[i];
966 bus_dmamap_destroy(cd->sge_txmbuf_tag,
971 bus_dma_tag_destroy(cd->sge_txmbuf_tag);
972 cd->sge_txmbuf_tag = NULL;
974 if (cd->sge_tag != NULL)
975 bus_dma_tag_destroy(cd->sge_tag);
976 cd->sge_tag = NULL;
986 struct sge_chain_data *cd;
990 cd = &sc->sge_cdata;
993 bus_dmamap_sync(cd->sge_tx_tag, cd->sge_tx_dmamap,
995 cd->sge_tx_prod = 0;
996 cd->sge_tx_cons = 0;
997 cd->sge_tx_cnt = 0;
1004 struct sge_chain_data *cd;
1009 cd = &sc->sge_cdata;
1011 txd = &cd->sge_txdesc[i];
1013 bus_dmamap_sync(cd->sge_txmbuf_tag, txd->tx_dmamap,
1015 bus_dmamap_unload(cd->sge_txmbuf_tag, txd->tx_dmamap);
1033 struct sge_chain_data *cd;
1037 cd = &sc->sge_cdata;
1038 cd->sge_rx_cons = 0;
1044 bus_dmamap_sync(cd->sge_rx_tag, cd->sge_rx_dmamap,
1052 struct sge_chain_data *cd;
1057 cd = &sc->sge_cdata;
1059 rxd = &cd->sge_rxdesc[i];
1061 bus_dmamap_sync(cd->sge_rxmbuf_tag, rxd->rx_dmamap,
1063 bus_dmamap_unload(cd->sge_rxmbuf_tag,
1080 struct sge_chain_data *cd;
1088 cd = &sc->sge_cdata;
1094 error = bus_dmamap_load_mbuf_sg(cd->sge_rxmbuf_tag,
1095 cd->sge_rx_spare_map, m, segs, &nsegs, 0);
1101 rxd = &cd->sge_rxdesc[prod];
1103 bus_dmamap_sync(cd->sge_rxmbuf_tag, rxd->rx_dmamap,
1105 bus_dmamap_unload(cd->sge_rxmbuf_tag, rxd->rx_dmamap);
1108 rxd->rx_dmamap = cd->sge_rx_spare_map;
1109 cd->sge_rx_spare_map = map;
1110 bus_dmamap_sync(cd->sge_rxmbuf_tag, rxd->rx_dmamap,
1146 struct sge_chain_data *cd;
1154 cd = &sc->sge_cdata;
1156 bus_dmamap_sync(cd->sge_rx_tag, cd->sge_rx_dmamap,
1158 cons = cd->sge_rx_cons;
1179 m = cd->sge_rxdesc[cons].rx_m;
1222 bus_dmamap_sync(cd->sge_rx_tag, cd->sge_rx_dmamap,
1224 cd->sge_rx_cons = cons;
1237 struct sge_chain_data *cd;
1246 cd = &sc->sge_cdata;
1248 if (cd->sge_tx_cnt == 0)
1250 bus_dmamap_sync(cd->sge_tx_tag, cd->sge_tx_dmamap,
1252 cons = cd->sge_tx_cons;
1253 prod = cd->sge_tx_prod;
1277 txd = &cd->sge_txdesc[cons];
1285 bus_dmamap_sync(cd->sge_txmbuf_tag, txd->tx_dmamap,
1287 bus_dmamap_unload(cd->sge_txmbuf_tag, txd->tx_dmamap);
1290 cd->sge_tx_cnt -= txd->tx_ndesc;
1291 KASSERT(cd->sge_tx_cnt >= 0,
1296 cd->sge_tx_cons = cons;
1297 if (cd->sge_tx_cnt == 0)