Lines Matching refs:size

127 	unsigned long size;  in swiotlb_size_or_default()  local
129 size = io_tlb_nslabs << IO_TLB_SHIFT; in swiotlb_size_or_default()
131 return size ? size : (IO_TLB_DEFAULT_SIZE); in swiotlb_size_or_default()
389 size_t size, enum dma_data_direction dir) in swiotlb_bounce() argument
401 while (size) { in swiotlb_bounce()
402 sz = min_t(size_t, PAGE_SIZE - offset, size); in swiotlb_bounce()
413 size -= sz; in swiotlb_bounce()
419 memcpy(vaddr, phys_to_virt(orig_addr), size); in swiotlb_bounce()
421 memcpy(phys_to_virt(orig_addr), vaddr, size); in swiotlb_bounce()
427 phys_addr_t orig_addr, size_t size, in swiotlb_tbl_map_single() argument
458 nslots = ALIGN(size, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; in swiotlb_tbl_map_single()
459 if (size > PAGE_SIZE) in swiotlb_tbl_map_single()
517 dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size); in swiotlb_tbl_map_single()
530 swiotlb_bounce(orig_addr, tlb_addr, size, DMA_TO_DEVICE); in swiotlb_tbl_map_single()
541 map_single(struct device *hwdev, phys_addr_t phys, size_t size, in map_single() argument
546 return swiotlb_tbl_map_single(hwdev, start_dma_addr, phys, size, dir); in map_single()
553 size_t size, enum dma_data_direction dir) in swiotlb_tbl_unmap_single() argument
556 int i, count, nslots = ALIGN(size, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; in swiotlb_tbl_unmap_single()
565 swiotlb_bounce(orig_addr, tlb_addr, size, DMA_FROM_DEVICE); in swiotlb_tbl_unmap_single()
597 size_t size, enum dma_data_direction dir, in swiotlb_tbl_sync_single() argument
611 size, DMA_FROM_DEVICE); in swiotlb_tbl_sync_single()
618 size, DMA_TO_DEVICE); in swiotlb_tbl_sync_single()
629 swiotlb_alloc_coherent(struct device *hwdev, size_t size, in swiotlb_alloc_coherent() argument
634 int order = get_order(size); in swiotlb_alloc_coherent()
643 if (dev_addr + size - 1 > dma_mask) { in swiotlb_alloc_coherent()
657 phys_addr_t paddr = map_single(hwdev, 0, size, DMA_FROM_DEVICE); in swiotlb_alloc_coherent()
665 if (dev_addr + size - 1 > dma_mask) { in swiotlb_alloc_coherent()
672 size, DMA_TO_DEVICE); in swiotlb_alloc_coherent()
678 memset(ret, 0, size); in swiotlb_alloc_coherent()
685 swiotlb_free_coherent(struct device *hwdev, size_t size, void *vaddr, in swiotlb_free_coherent() argument
692 free_pages((unsigned long)vaddr, get_order(size)); in swiotlb_free_coherent()
695 swiotlb_tbl_unmap_single(hwdev, paddr, size, DMA_TO_DEVICE); in swiotlb_free_coherent()
700 swiotlb_full(struct device *dev, size_t size, enum dma_data_direction dir, in swiotlb_full() argument
711 "device %s\n", size, dev ? dev_name(dev) : "?"); in swiotlb_full()
713 if (size <= io_tlb_overflow || !do_panic) in swiotlb_full()
732 unsigned long offset, size_t size, in swiotlb_map_page() argument
745 if (dma_capable(dev, dev_addr, size) && !swiotlb_force) in swiotlb_map_page()
748 trace_swiotlb_bounced(dev, dev_addr, size, swiotlb_force); in swiotlb_map_page()
751 map = map_single(dev, phys, size, dir); in swiotlb_map_page()
753 swiotlb_full(dev, size, dir, 1); in swiotlb_map_page()
760 if (!dma_capable(dev, dev_addr, size)) { in swiotlb_map_page()
761 swiotlb_tbl_unmap_single(dev, map, size, dir); in swiotlb_map_page()
778 size_t size, enum dma_data_direction dir) in unmap_single() argument
785 swiotlb_tbl_unmap_single(hwdev, paddr, size, dir); in unmap_single()
798 dma_mark_clean(phys_to_virt(paddr), size); in unmap_single()
802 size_t size, enum dma_data_direction dir, in swiotlb_unmap_page() argument
805 unmap_single(hwdev, dev_addr, size, dir); in swiotlb_unmap_page()
821 size_t size, enum dma_data_direction dir, in swiotlb_sync_single() argument
829 swiotlb_tbl_sync_single(hwdev, paddr, size, dir, target); in swiotlb_sync_single()
836 dma_mark_clean(phys_to_virt(paddr), size); in swiotlb_sync_single()
841 size_t size, enum dma_data_direction dir) in swiotlb_sync_single_for_cpu() argument
843 swiotlb_sync_single(hwdev, dev_addr, size, dir, SYNC_FOR_CPU); in swiotlb_sync_single_for_cpu()
849 size_t size, enum dma_data_direction dir) in swiotlb_sync_single_for_device() argument
851 swiotlb_sync_single(hwdev, dev_addr, size, dir, SYNC_FOR_DEVICE); in swiotlb_sync_single_for_device()