Lines Matching defs:dma
87 struct gve_dma_handle *dma)
104 &dma->tag);
111 err = bus_dmamem_alloc(dma->tag, (void **) &dma->cpu_addr,
113 &dma->map);
121 dma->bus_addr = (bus_addr_t)-1;
122 err = bus_dmamap_load(dma->tag, dma->map, dma->cpu_addr, size,
123 gve_dmamap_load_callback, &dma->bus_addr, BUS_DMA_NOWAIT);
124 if (err != 0 || dma->bus_addr == (bus_addr_t)-1) {
132 bus_dmamem_free(dma->tag, dma->cpu_addr, dma->map);
134 bus_dma_tag_destroy(dma->tag);
136 dma->tag = NULL;
142 gve_dma_free_coherent(struct gve_dma_handle *dma)
144 bus_dmamap_sync(dma->tag, dma->map, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
145 bus_dmamap_unload(dma->tag, dma->map);
146 bus_dmamem_free(dma->tag, dma->cpu_addr, dma->map);
147 bus_dma_tag_destroy(dma->tag);
152 struct gve_dma_handle *dma)
169 &dma->tag);
176 err = bus_dmamap_create(dma->tag, BUS_DMA_COHERENT, &dma->map);
184 dma->bus_addr = (bus_addr_t)-1;
185 err = bus_dmamap_load(dma->tag, dma->map, dma->cpu_addr, size,
186 gve_dmamap_load_callback, &dma->bus_addr, BUS_DMA_WAITOK);
187 if (err != 0 || dma->bus_addr == (bus_addr_t)-1) {
196 bus_dmamap_destroy(dma->tag, dma->map);
198 bus_dma_tag_destroy(dma->tag);
200 dma->tag = NULL;
206 gve_dmamap_destroy(struct gve_dma_handle *dma)
208 bus_dmamap_sync(dma->tag, dma->map, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
209 bus_dmamap_unload(dma->tag, dma->map);
210 bus_dmamap_destroy(dma->tag, dma->map);
211 bus_dma_tag_destroy(dma->tag);