Lines Matching defs:dmc
1285 struct pq3etsec_mapcache *dmc)
1287 KASSERT(dmc->dmc_nmaps > 0);
1288 KASSERT(dmc->dmc_maps[dmc->dmc_nmaps-1] != NULL);
1289 return dmc->dmc_maps[--dmc->dmc_nmaps];
1295 struct pq3etsec_mapcache *dmc,
1299 KASSERT(dmc->dmc_nmaps < dmc->dmc_maxmaps);
1300 dmc->dmc_maps[dmc->dmc_nmaps++] = map;
1306 struct pq3etsec_mapcache *dmc)
1309 offsetof(struct pq3etsec_mapcache, dmc_maps[dmc->dmc_maxmaps]);
1311 for (u_int i = 0; i < dmc->dmc_maxmaps; i++) {
1312 bus_dmamap_destroy(sc->sc_dmat, dmc->dmc_maps[i]);
1314 kmem_intr_free(dmc, dmc_size);
1327 struct pq3etsec_mapcache * const dmc =
1330 dmc->dmc_maxmaps = maxmaps;
1331 dmc->dmc_nmaps = maxmaps;
1332 dmc->dmc_maxmapsize = maxmapsize;
1333 dmc->dmc_maxseg = maxseg;
1336 int error = bus_dmamap_create(sc->sc_dmat, dmc->dmc_maxmapsize,
1337 dmc->dmc_maxseg, dmc->dmc_maxmapsize, 0,
1338 BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &dmc->dmc_maps[i]);
1346 dmc->dmc_maps[i]);
1348 kmem_intr_free(dmc, dmc_size);
1351 KASSERT(dmc->dmc_maps[i] != NULL);
1354 *dmc_p = dmc;