Lines Matching refs:len

24 extern void dvma_unmap_iommu(unsigned long baddr, int len);
152 static inline unsigned long get_baddr(int len, unsigned long align) in get_baddr() argument
173 newlen = len + ((hole->end - len) & (align-1)); in get_baddr()
175 newlen = len; in get_baddr()
206 unsigned long len; in free_baddr() local
212 len = dvma_entry_use(baddr); in free_baddr()
215 dvma_unmap_iommu(baddr, len); in free_baddr()
219 dvma_free_bytes += len; in free_baddr()
226 hole->end += len; in free_baddr()
227 hole->size += len; in free_baddr()
229 } else if(hole->start == (baddr + len)) { in free_baddr()
231 hole->size += len; in free_baddr()
240 hole->end = baddr + len; in free_baddr()
241 hole->size = len; in free_baddr()
280 unsigned long dvma_map_align(unsigned long kaddr, int len, int align) in dvma_map_align() argument
286 if(!len) in dvma_map_align()
287 len = 0x800; in dvma_map_align()
289 if(!kaddr || !len) { in dvma_map_align()
297 len, kaddr); in dvma_map_align()
301 len += off; in dvma_map_align()
302 len = ((len + (DVMA_PAGE_SIZE-1)) & DVMA_PAGE_MASK); in dvma_map_align()
309 baddr = get_baddr(len, align); in dvma_map_align()
312 if(!dvma_map_iommu(kaddr, baddr, len)) in dvma_map_align()
315 printk("dvma_map failed kaddr %lx baddr %lx len %x\n", kaddr, baddr, len); in dvma_map_align()
337 void *dvma_malloc_align(unsigned long len, unsigned long align) in dvma_malloc_align() argument
343 if(!len) in dvma_malloc_align()
347 printk("dvma_malloc request %lx bytes\n", len); in dvma_malloc_align()
349 len = ((len + (DVMA_PAGE_SIZE-1)) & DVMA_PAGE_MASK); in dvma_malloc_align()
351 if((kaddr = __get_free_pages(GFP_ATOMIC, get_order(len))) == 0) in dvma_malloc_align()
354 if((baddr = (unsigned long)dvma_map_align(kaddr, len, align)) == 0) { in dvma_malloc_align()
355 free_pages(kaddr, get_order(len)); in dvma_malloc_align()
361 if(dvma_map_cpu(kaddr, vaddr, len) < 0) { in dvma_malloc_align()
363 free_pages(kaddr, get_order(len)); in dvma_malloc_align()
369 len, kaddr, baddr); in dvma_malloc_align()