Lines Matching refs:am
63 fwdma_v_addr(struct fwdma_alloc_multi *am, int index)
65 bus_size_t ssize = am->ssize;
66 int offset = am->esize * index;
68 return (char *)am->seg[offset / ssize].v_addr + (offset % ssize);
72 fwdma_bus_addr(struct fwdma_alloc_multi *am, int index)
74 bus_size_t ssize = am->ssize;
75 int offset = am->esize * index;
77 return am->seg[offset / ssize].bus_addr + (offset % ssize);
81 fwdma_sync_multiseg(struct fwdma_alloc_multi *am, int start, int end, int op)
86 off = (am->esize * start) % am->ssize;
87 eoff = (am->esize * end) % am->ssize;
88 seg = &am->seg[am->esize * start / am->ssize];
89 eseg = &am->seg[am->esize * end / am->ssize];
92 for (; seg < &am->seg[am->nseg]; seg++) {
93 bus_dmamap_sync(am->dma_tag, seg->dma_map,
97 seg = am->seg;
100 bus_dmamap_sync(am->dma_tag, seg->dma_map,
104 bus_dmamap_sync(am->dma_tag, seg->dma_map,
105 off, eoff - off + am->esize, op);
109 fwdma_sync_multiseg_all(struct fwdma_alloc_multi *am, int op)
114 seg = am->seg;
115 for (i = 0; i < am->nseg; i++, seg++)
116 bus_dmamap_sync(am->dma_tag, seg->dma_map,