Lines Matching defs:dmc
749 struct bcmeth_mapcache *dmc)
751 KASSERT(dmc->dmc_nmaps > 0);
752 KASSERT(dmc->dmc_maps[dmc->dmc_nmaps-1] != NULL);
753 return dmc->dmc_maps[--dmc->dmc_nmaps];
759 struct bcmeth_mapcache *dmc,
763 KASSERT(dmc->dmc_nmaps < dmc->dmc_maxmaps);
764 dmc->dmc_maps[dmc->dmc_nmaps++] = map;
770 struct bcmeth_mapcache *dmc)
773 offsetof(struct bcmeth_mapcache, dmc_maps[dmc->dmc_maxmaps]);
775 for (u_int i = 0; i < dmc->dmc_maxmaps; i++) {
776 bus_dmamap_destroy(sc->sc_dmat, dmc->dmc_maps[i]);
778 kmem_intr_free(dmc, dmc_size);
791 struct bcmeth_mapcache * const dmc =
794 dmc->dmc_maxmaps = maxmaps;
795 dmc->dmc_nmaps = maxmaps;
796 dmc->dmc_maxmapsize = maxmapsize;
797 dmc->dmc_maxseg = maxseg;
800 int error = bus_dmamap_create(sc->sc_dmat, dmc->dmc_maxmapsize,
801 dmc->dmc_maxseg, dmc->dmc_maxmapsize, 0,
802 BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &dmc->dmc_maps[i]);
810 dmc->dmc_maps[i]);
812 kmem_intr_free(dmc, dmc_size);
815 KASSERT(dmc->dmc_maps[i] != NULL);
818 *dmc_p = dmc;