Lines Matching refs:dt

702 iommu_dvma_vallocseg(bus_dma_tag_t dt, struct iommu_state *is, bus_dmamap_t map,
713 while ((error = iommu_dvma_valloc(dt, is, map,
748 iommu_dvmamem_alloc(bus_dma_tag_t dt, void **vaddr, int flags,
751 struct iommu_state *is = dt->dt_cookie;
758 if ((error = sparc64_dma_alloc_map(dt, mapp)) != 0)
768 if ((*vaddr = malloc(dt->dt_maxsize, M_IOMMU, mflags)) == NULL) {
770 sparc64_dma_free_map(dt, *mapp);
779 iommu_dvma_valloc(dt, is, *mapp, IOMMU_SIZE_ROUNDUP(dt->dt_maxsize));
787 iommu_dvmamem_free(bus_dma_tag_t dt, void *vaddr, bus_dmamap_t map)
789 struct iommu_state *is = dt->dt_cookie;
792 sparc64_dma_free_map(dt, map);
797 iommu_dvmamap_create(bus_dma_tag_t dt, int flags, bus_dmamap_t *mapp)
799 struct iommu_state *is = dt->dt_cookie;
803 if ((error = sparc64_dma_alloc_map(dt, mapp)) != 0)
816 totsz = ulmin(IOMMU_SIZE_ROUNDUP(dt->dt_maxsize), IOMMU_MAX_PRE);
817 error = iommu_dvma_valloc(dt, is, *mapp, totsz);
824 maxpre = imin(dt->dt_nsegments, IOMMU_MAX_PRE_SEG);
825 presz = dt->dt_maxsize / maxpre;
828 error = iommu_dvma_valloc(dt, is, *mapp, currsz);
840 iommu_dvmamap_destroy(bus_dma_tag_t dt, bus_dmamap_t map)
842 struct iommu_state *is = dt->dt_cookie;
845 sparc64_dma_free_map(dt, map);
854 iommu_dvmamap_load_phys(bus_dma_tag_t dt, bus_dmamap_t map, vm_paddr_t buf,
865 is = dt->dt_cookie;
871 bus_dmamap_unload(dt, map);
883 amask = dt->dt_alignment - 1;
887 if (buflen > dt->dt_maxsize)
891 segs = dt->dt_segments;
896 error = iommu_dvma_vallocseg(dt, is, map, voffs, buflen, amask,
935 dt->dt_maxsegsz - segs[sgcnt].ds_len);
942 if (sgcnt >= dt->dt_nsegments)
952 esize = ulmin(sgsize, dt->dt_maxsegsz);
969 iommu_dvmamap_load_buffer(bus_dma_tag_t dt, bus_dmamap_t map, void *buf,
981 is = dt->dt_cookie;
987 bus_dmamap_unload(dt, map);
999 amask = dt->dt_alignment - 1;
1003 if (buflen > dt->dt_maxsize)
1007 segs = dt->dt_segments;
1013 error = iommu_dvma_vallocseg(dt, is, map, voffs, buflen, amask,
1058 dt->dt_maxsegsz - segs[sgcnt].ds_len);
1065 if (sgcnt >= dt->dt_nsegments)
1075 esize = ulmin(sgsize, dt->dt_maxsegsz);
1095 iommu_dvmamap_complete(bus_dma_tag_t dt, bus_dmamap_t map,
1098 struct iommu_state *is = dt->dt_cookie;
1110 segs = dt->dt_segments;
1115 iommu_dvmamap_unload(bus_dma_tag_t dt, bus_dmamap_t map)
1117 struct iommu_state *is = dt->dt_cookie;
1129 iommu_dvmamap_sync(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmasync_op_t op)
1131 struct iommu_state *is = dt->dt_cookie;