Home | History | Annotate | Download | only in qbus

Lines Matching refs:ui

151 uballoc(struct uba_softc *uh, struct ubinfo *ui, int flags)
156 if ((error = bus_dmamap_create(uh->uh_dmat, ui->ui_size, 1,
157 ui->ui_size, 0, (waitok ? BUS_DMA_WAITOK : BUS_DMA_NOWAIT),
158 &ui->ui_dmam)))
161 if ((error = bus_dmamap_load(uh->uh_dmat, ui->ui_dmam, ui->ui_vaddr,
162 ui->ui_size, NULL, (waitok ? BUS_DMA_WAITOK : BUS_DMA_NOWAIT)))) {
163 bus_dmamap_destroy(uh->uh_dmat, ui->ui_dmam);
166 ui->ui_baddr = ui->ui_dmam->dm_segs[0].ds_addr;
174 ubmemalloc(struct uba_softc *uh, struct ubinfo *ui, int flags)
179 if ((error = bus_dmamem_alloc(uh->uh_dmat, ui->ui_size, PAGE_SIZE, 0,
180 &ui->ui_seg, 1, &ui->ui_rseg, waitok)))
182 if ((error = bus_dmamem_map(uh->uh_dmat, &ui->ui_seg, ui->ui_rseg,
183 ui->ui_size, &ui->ui_vaddr, waitok|BUS_DMA_COHERENT))) {
184 bus_dmamem_free(uh->uh_dmat, &ui->ui_seg, ui->ui_rseg);
187 if ((error = uballoc(uh, ui, flags))) {
188 bus_dmamem_unmap(uh->uh_dmat, ui->ui_vaddr, ui->ui_size);
189 bus_dmamem_free(uh->uh_dmat, &ui->ui_seg, ui->ui_rseg);
195 ubfree(struct uba_softc *uh, struct ubinfo *ui)
197 bus_dmamap_unload(uh->uh_dmat, ui->ui_dmam);
198 bus_dmamap_destroy(uh->uh_dmat, ui->ui_dmam);
202 ubmemfree(struct uba_softc *uh, struct ubinfo *ui)
204 bus_dmamem_unmap(uh->uh_dmat, ui->ui_vaddr, ui->ui_size);
205 bus_dmamem_free(uh->uh_dmat, &ui->ui_seg, ui->ui_rseg);
206 ubfree(uh, ui);