Lines Matching refs:size
27 static void *dma_alloc(struct rt_device *dev, rt_size_t size,
29 static void dma_free(struct rt_device *dev, rt_size_t size,
43 void *data, rt_size_t size, rt_ubase_t *dma_handle, rt_ubase_t flags) in dma_map_coherent_sync_out_data() argument
49 rt_hw_cpu_dcache_ops(RT_HW_CACHE_FLUSH, data, size); in dma_map_coherent_sync_out_data()
55 void *out_data, rt_size_t size, rt_ubase_t dma_handle, rt_ubase_t flags) in dma_map_coherent_sync_in_data() argument
57 rt_hw_cpu_dcache_ops(RT_HW_CACHE_INVALIDATE, out_data, size); in dma_map_coherent_sync_in_data()
69 void *data, rt_size_t size, rt_ubase_t *dma_handle, rt_ubase_t flags) in dma_map_nocoherent_sync_out_data() argument
80 void *out_data, rt_size_t size, rt_ubase_t dma_handle, rt_ubase_t flags) in dma_map_nocoherent_sync_in_data() argument
102 static void *ofw_dma_map_alloc(struct rt_device *dev, rt_size_t size, in ofw_dma_map_alloc() argument
105 void *cpu_addr = dma_alloc(dev, size, dma_handle, flags); in ofw_dma_map_alloc()
115 static void ofw_dma_map_free(struct rt_device *dev, rt_size_t size, in ofw_dma_map_free() argument
120 dma_free(dev, size, cpu_addr, dma_handle, flags); in ofw_dma_map_free()
124 void *data, rt_size_t size, in ofw_dma_map_sync_out_data() argument
131 err = dma_map_nocoherent_sync_out_data(dev, data, size, dma_handle, flags); in ofw_dma_map_sync_out_data()
135 err = dma_map_coherent_sync_out_data(dev, data, size, dma_handle, flags); in ofw_dma_map_sync_out_data()
147 void *out_data, rt_size_t size, in ofw_dma_map_sync_in_data() argument
154 return dma_map_nocoherent_sync_in_data(dev, out_data, size, dma_handle, flags); in ofw_dma_map_sync_in_data()
157 return dma_map_coherent_sync_in_data(dev, out_data, size, dma_handle, flags); in ofw_dma_map_sync_in_data()
182 rt_uint64_t addr, size; in ofw_device_dma_ops() local
194 if ((err = rt_ofw_get_address(mem_np, 0, &addr, &size))) in ofw_device_dma_ops()
204 region.end = addr + size; in ofw_device_dma_ops()
267 static rt_ubase_t dma_pool_alloc(struct rt_dma_pool *pool, rt_size_t size) in dma_pool_alloc() argument
271 size = RT_DIV_ROUND_UP(size, ARCH_PAGE_SIZE); in dma_pool_alloc()
272 max_bits = pool->bits - size; in dma_pool_alloc()
276 end_bit = bit + size; in dma_pool_alloc()
302 static void dma_pool_free(struct rt_dma_pool *pool, rt_ubase_t offset, rt_size_t size) in dma_pool_free() argument
306 size = RT_DIV_ROUND_UP(size, ARCH_PAGE_SIZE); in dma_pool_free()
307 end_bit = bit + size; in dma_pool_free()
315 static void *dma_alloc(struct rt_device *dev, rt_size_t size, in dma_alloc() argument
352 *dma_handle = dma_pool_alloc(pool, size); in dma_alloc()
358 dma_buffer = rt_ioremap_nocache((void *)*dma_handle, size); in dma_alloc()
362 dma_buffer = rt_ioremap_cached((void *)*dma_handle, size); in dma_alloc()
367 dma_pool_free(pool, *dma_handle, size); in dma_alloc()
387 static void dma_free(struct rt_device *dev, rt_size_t size, in dma_free() argument
401 dma_pool_free(pool, dma_handle, size); in dma_free()
410 void *rt_dma_alloc(struct rt_device *dev, rt_size_t size, in rt_dma_alloc() argument
417 if (!dev || !size) in rt_dma_alloc()
426 dma_buffer = ops->alloc(dev, size, &dma_handle_s, flags); in rt_dma_alloc()
430 dma_buffer = dma_alloc(dev, size, &dma_handle_s, flags); in rt_dma_alloc()
446 void rt_dma_free(struct rt_device *dev, rt_size_t size, in rt_dma_free() argument
451 if (!dev || !size || !cpu_addr) in rt_dma_free()
460 ops->free(dev, size, cpu_addr, dma_handle, flags); in rt_dma_free()
464 dma_free(dev, size, cpu_addr, dma_handle, flags); in rt_dma_free()
468 rt_err_t rt_dma_sync_out_data(struct rt_device *dev, void *data, rt_size_t size, in rt_dma_sync_out_data() argument
475 if (!data || !size) in rt_dma_sync_out_data()
481 err = ops->sync_out_data(dev, data, size, &dma_handle_s, flags); in rt_dma_sync_out_data()
491 rt_err_t rt_dma_sync_in_data(struct rt_device *dev, void *out_data, rt_size_t size, in rt_dma_sync_in_data() argument
497 if (!out_data || !size) in rt_dma_sync_in_data()
503 err = ops->sync_in_data(dev, out_data, size, dma_handle, flags); in rt_dma_sync_in_data()