Lines Matching defs:size

77 static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
80 unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
134 xen_swiotlb_alloc_coherent(struct device *dev, size_t size,
138 int order = get_order(size);
142 /* Align the allocation to the Xen page size */
143 size = 1UL << (order + XEN_PAGE_SHIFT);
145 ret = (void *)__get_free_pages(flags, get_order(size));
151 if (*dma_handle + size - 1 > dma_mask ||
152 range_straddles_page_boundary(phys, size)) {
159 memset(ret, 0, size);
163 free_pages((unsigned long)ret, get_order(size));
168 xen_swiotlb_free_coherent(struct device *dev, size_t size, void *vaddr,
172 int order = get_order(size);
174 /* Convert the size to actually allocated. */
175 size = 1UL << (order + XEN_PAGE_SHIFT);
177 if (WARN_ON_ONCE(dma_handle + size - 1 > dev->coherent_dma_mask) ||
178 WARN_ON_ONCE(range_straddles_page_boundary(phys, size)))
183 free_pages((unsigned long)vaddr, get_order(size));
188 * Map a single buffer of the indicated size for DMA in streaming mode. The
195 unsigned long offset, size_t size,
208 if (dma_capable(dev, dev_addr, size, true) &&
209 !range_straddles_page_boundary(phys, size) &&
217 trace_swiotlb_bounced(dev, dev_addr, size);
219 map = swiotlb_tbl_map_single(dev, phys, size, size, 0, dir, attrs);
229 if (unlikely(!dma_capable(dev, dev_addr, size, true))) {
230 swiotlb_tbl_unmap_single(dev, map, size, dir,
238 arch_sync_dma_for_device(phys, size, dir);
240 xen_dma_sync_for_device(dev, dev_addr, size, dir);
246 * Unmap a single streaming mode DMA translation. The dma_addr and size must
254 size_t size, enum dma_data_direction dir, unsigned long attrs)
262 arch_sync_dma_for_cpu(paddr, size, dir);
264 xen_dma_sync_for_cpu(hwdev, dev_addr, size, dir);
269 swiotlb_tbl_unmap_single(hwdev, paddr, size, dir, attrs);
274 size_t size, enum dma_data_direction dir)
280 arch_sync_dma_for_cpu(paddr, size, dir);
282 xen_dma_sync_for_cpu(dev, dma_addr, size, dir);
286 swiotlb_sync_single_for_cpu(dev, paddr, size, dir);
291 size_t size, enum dma_data_direction dir)
296 swiotlb_sync_single_for_device(dev, paddr, size, dir);
300 arch_sync_dma_for_device(paddr, size, dir);
302 xen_dma_sync_for_device(dev, dma_addr, size, dir);