Lines Matching refs:baddr
24 extern void dvma_unmap_iommu(unsigned long baddr, int len);
37 #define dvma_index(baddr) ((baddr - DVMA_START) >> DVMA_PAGE_SHIFT) argument
39 #define dvma_entry_use(baddr) (iommu_use[dvma_index(baddr)]) argument
203 static inline int free_baddr(unsigned long baddr) in free_baddr() argument
211 orig_baddr = baddr; in free_baddr()
212 len = dvma_entry_use(baddr); in free_baddr()
213 dvma_entry_use(baddr) = 0; in free_baddr()
214 baddr &= DVMA_PAGE_MASK; in free_baddr()
215 dvma_unmap_iommu(baddr, len); in free_baddr()
225 if(hole->end == baddr) { in free_baddr()
229 } else if(hole->start == (baddr + len)) { in free_baddr()
230 hole->start = baddr; in free_baddr()
239 hole->start = baddr; in free_baddr()
240 hole->end = baddr + len; in free_baddr()
283 unsigned long baddr; in dvma_map_align() local
309 baddr = get_baddr(len, align); in dvma_map_align()
312 if(!dvma_map_iommu(kaddr, baddr, len)) in dvma_map_align()
313 return (baddr + off); in dvma_map_align()
315 printk("dvma_map failed kaddr %lx baddr %lx len %x\n", kaddr, baddr, len); in dvma_map_align()
321 void dvma_unmap(void *baddr) in dvma_unmap() argument
325 addr = (unsigned long)baddr; in dvma_unmap()
340 unsigned long baddr; in dvma_malloc_align() local
354 if((baddr = (unsigned long)dvma_map_align(kaddr, len, align)) == 0) { in dvma_malloc_align()
359 vaddr = dvma_btov(baddr); in dvma_malloc_align()
362 dvma_unmap((void *)baddr); in dvma_malloc_align()
369 len, kaddr, baddr); in dvma_malloc_align()