Home
last modified time | relevance | path

Searched refs:cpu_addr (Results 1 – 25 of 117) sorted by relevance

12345

/linux/kernel/dma/
H A Ddirect.c163 dma_addr_t *dma_handle, void **cpu_addr, gfp_t gfp, in dma_direct_alloc_from_pool() argument
173 page = dma_alloc_from_pool(dev, size, cpu_addr, gfp, attrs, in dma_direct_alloc_from_pool()
209 void *cpu_addr; in dma_direct_alloc() local
270 dma_handle, &cpu_addr, in dma_direct_alloc()
272 return page ? cpu_addr : NULL; in dma_direct_alloc()
319 cpu_addr = dma_common_contiguous_remap(page, size, prot, in dma_direct_alloc()
321 if (!cpu_addr) in dma_direct_alloc()
324 cpu_addr = page_address(page); in dma_direct_alloc()
327 memset(cpu_addr, 0, size); in dma_direct_alloc()
333 uncached_cpu_addr = arch_dma_set_uncached(cpu_addr, size); in dma_direct_alloc()
[all …]
H A Dremap.c9 struct page **dma_common_find_pages(void *cpu_addr) in dma_common_find_pages() argument
11 struct vm_struct *area = find_vm_area(cpu_addr); in dma_common_find_pages()
16 "unexpected flags in area: %p\n", cpu_addr); in dma_common_find_pages()
62 void dma_common_free_remap(void *cpu_addr, size_t size) in dma_common_free_remap() argument
64 struct vm_struct *area = find_vm_area(cpu_addr); in dma_common_free_remap()
67 WARN(1, "trying to free invalid coherent area: %p\n", cpu_addr); in dma_common_free_remap()
71 vunmap(cpu_addr); in dma_common_free_remap()
H A Dmapping.c516 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_get_sgtable_attrs() argument
522 return dma_direct_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs()
525 return iommu_dma_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs()
529 return ops->get_sgtable(dev, sgt, cpu_addr, dma_addr, size, attrs); in dma_get_sgtable_attrs()
591 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_mmap_attrs() argument
597 return dma_direct_mmap(dev, vma, cpu_addr, dma_addr, size, in dma_mmap_attrs()
600 return iommu_dma_mmap(dev, vma, cpu_addr, dma_addr, size, in dma_mmap_attrs()
604 return ops->mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in dma_mmap_attrs()
637 void *cpu_addr; in dma_alloc_attrs() local
658 if (dma_alloc_from_dev_coherent(dev, size, dma_handle, &cpu_addr)) { in dma_alloc_attrs()
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_mem_pool.c45 void *cpu_addr; member
65 kvfree(pool->cpu_addr); in fini_pool_action()
147 pool->cpu_addr = kvzalloc(size, GFP_KERNEL); in xe_mem_pool_init()
148 if (!pool->cpu_addr) in xe_mem_pool_init()
151 pool->cpu_addr = bo->vmap.vaddr; in xe_mem_pool_init()
173 kvfree(pool->cpu_addr); in xe_mem_pool_init()
198 pool->cpu_addr, xe_bo_size(pool->bo)); in xe_mem_pool_sync()
222 pool->cpu_addr = pool->bo->vmap.vaddr; in xe_mem_pool_swap_shadow_locked()
247 pool->cpu_addr + sa_node->start, in xe_mem_pool_sync_shadow_locked()
270 return pool->cpu_addr; in xe_mem_pool_cpu_addr()
[all …]
/linux/drivers/accel/amdxdna/
H A Damdxdna_iommu.c119 void *cpu_addr; in amdxdna_iommu_alloc() local
128 cpu_addr = (void *)__get_free_pages(GFP_KERNEL, get_order(size)); in amdxdna_iommu_alloc()
129 if (!cpu_addr) { in amdxdna_iommu_alloc()
134 ret = iommu_map(xdna->domain, *dma_addr, virt_to_phys(cpu_addr), in amdxdna_iommu_alloc()
140 return cpu_addr; in amdxdna_iommu_alloc()
143 free_pages((unsigned long)cpu_addr, get_order(size)); in amdxdna_iommu_alloc()
150 void *cpu_addr, dma_addr_t dma_addr) in amdxdna_iommu_free() argument
154 free_pages((unsigned long)cpu_addr, get_order(size)); in amdxdna_iommu_free()
/linux/arch/arm/mm/
H A Ddma-mapping.c54 void *cpu_addr; member
427 void *cpu_addr, size_t size, bool want_vaddr) in __free_from_contiguous() argument
431 dma_common_free_remap(cpu_addr, size); in __free_from_contiguous()
487 __free_from_contiguous(args->dev, args->page, args->cpu_addr, in cma_allocator_free()
504 __free_from_pool(args->cpu_addr, args->size); in pool_allocator_free()
523 dma_common_free_remap(args->cpu_addr, args->size); in remap_allocator_free()
605 static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, in __arm_dma_free() argument
614 .cpu_addr = cpu_addr, in __arm_dma_free()
619 buf = arm_dma_buffer_find(cpu_addr); in __arm_dma_free()
620 if (WARN(!buf, "Freeing invalid buffer %p\n", cpu_addr)) in __arm_dma_free()
[all …]
/linux/drivers/media/common/saa7146/
H A Dsaa7146_core.c403 dev->d_rps0.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM, in saa7146_init_one()
406 if (!dev->d_rps0.cpu_addr) in saa7146_init_one()
409 dev->d_rps1.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM, in saa7146_init_one()
412 if (!dev->d_rps1.cpu_addr) in saa7146_init_one()
415 dev->d_i2c.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM, in saa7146_init_one()
417 if (!dev->d_i2c.cpu_addr) in saa7146_init_one()
464 dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_i2c.cpu_addr, in saa7146_init_one()
467 dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_rps1.cpu_addr, in saa7146_init_one()
470 dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_rps0.cpu_addr, in saa7146_init_one()
493 { dev->d_i2c.cpu_addr, dev->d_i2c.dma_handle }, in saa7146_remove_one()
[all …]
/linux/include/linux/
H A Ddma-map-ops.h31 void *cpu_addr, dma_addr_t dma_addr, size_t size,
158 void *cpu_addr, size_t size, int *ret);
176 int dma_mmap_from_global_coherent(struct vm_area_struct *vma, void *cpu_addr,
190 void *cpu_addr, size_t size, int *ret) in dma_mmap_from_global_coherent() argument
197 void *cpu_addr, dma_addr_t dma_addr, size_t size,
200 void *cpu_addr, dma_addr_t dma_addr, size_t size,
207 struct page **dma_common_find_pages(void *cpu_addr);
212 void dma_common_free_remap(void *cpu_addr, size_t size);
215 void **cpu_addr, gfp_t flags, unsigned long attrs,
311 void arch_dma_free(struct device *dev, size_t size, void *cpu_addr,
H A Ddma-mapping.h191 void dma_free_attrs(struct device *dev, size_t size, void *cpu_addr,
198 void *cpu_addr, dma_addr_t dma_addr, size_t size,
201 void *cpu_addr, dma_addr_t dma_addr, size_t size,
277 void *cpu_addr, dma_addr_t dma_handle, unsigned long attrs) in dma_free_attrs() argument
290 struct sg_table *sgt, void *cpu_addr, dma_addr_t dma_addr, in dma_get_sgtable_attrs() argument
296 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_mmap_attrs() argument
630 void *cpu_addr, dma_addr_t dma_handle) in dma_free_coherent() argument
632 return dma_free_attrs(dev, size, cpu_addr, dma_handle, 0); in dma_free_coherent()
770 void *cpu_addr, dma_addr_t dma_addr) in dma_free_wc() argument
772 return dma_free_attrs(dev, size, cpu_addr, dma_addr, in dma_free_wc()
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_isp.c251 void **buf_obj, u64 *gpu_addr, void **cpu_addr) in isp_kernel_buffer_alloc() argument
269 if (WARN_ON(!cpu_addr)) in isp_kernel_buffer_alloc()
291 cpu_addr); in isp_kernel_buffer_alloc()
292 if (!cpu_addr || ret) { in isp_kernel_buffer_alloc()
313 void isp_kernel_buffer_free(void **buf_obj, u64 *gpu_addr, void **cpu_addr) in isp_kernel_buffer_free() argument
317 amdgpu_bo_free_kernel(bo, gpu_addr, cpu_addr); in isp_kernel_buffer_free()
H A Dvce_v1_0.c196 u32 *cpu_addr; in vce_v1_0_load_fw() local
202 cpu_addr = adev->vce.cpu_addr; in vce_v1_0_load_fw()
235 memset_io(&cpu_addr[0], 0, amdgpu_bo_size(adev->vce.vcpu_bo)); in vce_v1_0_load_fw()
237 cpu_addr += (256 - 64) / 4; in vce_v1_0_load_fw()
238 memcpy_toio(&cpu_addr[0], &sign->val[i].nonce[0], 16); in vce_v1_0_load_fw()
239 cpu_addr[4] = cpu_to_le32(le32_to_cpu(sign->length) + 64); in vce_v1_0_load_fw()
241 memset_io(&cpu_addr[5], 0, 44); in vce_v1_0_load_fw()
242 memcpy_toio(&cpu_addr[16], &sign[1], ucode_size); in vce_v1_0_load_fw()
244 cpu_addr += (le32_to_cpu(sign->length) + 64) / 4; in vce_v1_0_load_fw()
245 memcpy_toio(&cpu_addr[0], &sign->val[i].sigval[0], 16); in vce_v1_0_load_fw()
H A Damdgpu_object.c243 u64 *gpu_addr, void **cpu_addr) in amdgpu_bo_create_reserved() argument
258 bp.flags = cpu_addr ? AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED in amdgpu_bo_create_reserved()
298 if (cpu_addr) { in amdgpu_bo_create_reserved()
299 r = amdgpu_bo_kmap(*bo_ptr, cpu_addr); in amdgpu_bo_create_reserved()
345 u64 *gpu_addr, void **cpu_addr) in amdgpu_bo_create_kernel() argument
350 gpu_addr, cpu_addr); in amdgpu_bo_create_kernel()
445 struct amdgpu_bo **bo_ptr, void **cpu_addr) in amdgpu_bo_create_kernel_at() argument
456 cpu_addr); in amdgpu_bo_create_kernel_at()
467 if (cpu_addr) in amdgpu_bo_create_kernel_at()
481 if (cpu_addr) { in amdgpu_bo_create_kernel_at()
[all …]
/linux/drivers/pci/controller/dwc/
H A Dpcie-tegra194-acpi.c49 int index, int type, u64 cpu_addr, in program_outbound_atu() argument
52 atu_reg_write(pcie_ecam, index, lower_32_bits(cpu_addr), in program_outbound_atu()
54 atu_reg_write(pcie_ecam, index, upper_32_bits(cpu_addr), in program_outbound_atu()
58 atu_reg_write(pcie_ecam, index, lower_32_bits(cpu_addr + size - 1), in program_outbound_atu()
/linux/drivers/dibs/
H A Ddibs_loopback.c84 dmb_node->cpu_addr = folio_address(folio); in dibs_lo_register_dmb()
104 dmb->cpu_addr = dmb_node->cpu_addr; in dibs_lo_register_dmb()
125 folio_put(virt_to_folio(dmb_node->cpu_addr)); in dibs_lo_free_dmb()
198 dmb->cpu_addr = dmb_node->cpu_addr; in dibs_lo_attach_dmb()
263 memcpy((char *)rmb_node->cpu_addr + offset, data, size); in dibs_lo_move_data()
/linux/drivers/of/
H A Daddress.c230 err = pci_register_io_range(&np->fwnode, range->cpu_addr, in of_pci_range_to_resource()
234 port = pci_address_to_pio(range->cpu_addr); in of_pci_range_to_resource()
241 start = range->cpu_addr; in of_pci_range_to_resource()
819 range->cpu_addr = of_translate_dma_address(parser->node, in of_pci_range_parser_one()
822 range->cpu_addr = of_translate_address(parser->node, in of_pci_range_parser_one()
833 u64 bus_addr, cpu_addr, size; in of_pci_range_parser_one() local
838 cpu_addr = of_translate_dma_address(parser->node, in of_pci_range_parser_one()
841 cpu_addr = of_translate_address(parser->node, in of_pci_range_parser_one()
848 cpu_addr != range->cpu_addr + range->size) in of_pci_range_parser_one()
932 if (range.cpu_addr == OF_BAD_ADDR) { in of_dma_get_range()
[all …]
/linux/drivers/accel/ivpu/
H A Divpu_gem.h109 static inline u32 cpu_to_vpu_addr(struct ivpu_bo *bo, void *cpu_addr) in cpu_to_vpu_addr() argument
111 if (cpu_addr < ivpu_bo_vaddr(bo)) in cpu_to_vpu_addr()
114 if (cpu_addr >= (ivpu_bo_vaddr(bo) + ivpu_bo_size(bo))) in cpu_to_vpu_addr()
117 return bo->vpu_addr + (cpu_addr - ivpu_bo_vaddr(bo)); in cpu_to_vpu_addr()
/linux/rust/kernel/
H A Ddma.rs587 /// - For the lifetime of an instance of [`Coherent`], the `cpu_addr` is a valid pointer
606 cpu_addr: NonNull<T>, in size()
614 T::size(self.cpu_addr.as_ptr())
620 self.cpu_addr.as_ptr() in as_mut_ptr()
627 self.cpu_addr.as_ptr() in dma_handle()
691 let cpu_addr = NonNull::new(addr.cast()).ok_or(ENOMEM)?; in field_write()
699 cpu_addr, in field_write()
808 let cpu_addr = NonNull::slice_from_raw_parts(NonNull::new(addr.cast()).ok_or(ENOMEM)?, len); in init()
816 cpu_addr,
920 self.cpu_addr
598 cpu_addr: NonNull<T>, global() field
730 let cpu_addr = NonNull::new(addr.cast()).ok_or(ENOMEM)?; alloc_with_attrs() localVariable
847 let cpu_addr = NonNull::slice_from_raw_parts(NonNull::new(addr.cast()).ok_or(ENOMEM)?, len); alloc_slice_with_attrs() localVariable
[all...]
/linux/drivers/iommu/
H A Ddma-iommu.c1583 static void __iommu_dma_free(struct device *dev, size_t size, void *cpu_addr) in __iommu_dma_free() argument
1591 dma_free_from_pool(dev, cpu_addr, alloc_size)) in __iommu_dma_free()
1594 if (is_vmalloc_addr(cpu_addr)) { in __iommu_dma_free()
1599 pages = dma_common_find_pages(cpu_addr); in __iommu_dma_free()
1601 page = vmalloc_to_page(cpu_addr); in __iommu_dma_free()
1602 dma_common_free_remap(cpu_addr, alloc_size); in __iommu_dma_free()
1605 page = virt_to_page(cpu_addr); in __iommu_dma_free()
1614 void iommu_dma_free(struct device *dev, size_t size, void *cpu_addr, in iommu_dma_free() argument
1618 __iommu_dma_free(dev, size, cpu_addr); in iommu_dma_free()
1628 void *cpu_addr; in iommu_dma_alloc_pages() local
1665 void *cpu_addr; iommu_dma_alloc() local
1701 iommu_dma_mmap(struct device * dev,struct vm_area_struct * vma,void * cpu_addr,dma_addr_t dma_addr,size_t size,unsigned long attrs) iommu_dma_mmap() argument
1732 iommu_dma_get_sgtable(struct device * dev,struct sg_table * sgt,void * cpu_addr,dma_addr_t dma_addr,size_t size,unsigned long attrs) iommu_dma_get_sgtable() argument
[all...]
/linux/include/drm/amd/
H A Disp.h47 void **buf_obj, u64 *gpu_addr, void **cpu_addr);
49 void isp_kernel_buffer_free(void **buf_obj, u64 *gpu_addr, void **cpu_addr);
/linux/drivers/remoteproc/
H A Dst_slim_rproc.c143 fw_rev = readl(slim_rproc->mem[ST_SLIM_DMEM].cpu_addr + in slim_rproc_start()
188 va = (__force void *)slim_rproc->mem[i].cpu_addr; in slim_rproc_da_to_va()
252 slim_rproc->mem[i].cpu_addr = devm_ioremap_resource(dev, res); in st_slim_rproc_alloc()
253 if (IS_ERR(slim_rproc->mem[i].cpu_addr)) { in st_slim_rproc_alloc()
255 err = PTR_ERR(slim_rproc->mem[i].cpu_addr); in st_slim_rproc_alloc()
/linux/drivers/pci/controller/
H A Dpcie-rcar.c102 void rcar_pcie_set_inbound(struct rcar_pcie *pcie, u64 cpu_addr, in rcar_pcie_set_inbound() argument
112 rcar_pci_write_reg(pcie, lower_32_bits(cpu_addr), PCIELAR(idx)); in rcar_pcie_set_inbound()
118 rcar_pci_write_reg(pcie, upper_32_bits(cpu_addr), PCIELAR(idx + 1)); in rcar_pcie_set_inbound()
/linux/arch/alpha/kernel/
H A Dpci_iommu.c410 void *cpu_addr; in alpha_pci_alloc_coherent() local
416 cpu_addr = (void *)__get_free_pages(gfp | __GFP_ZERO, order); in alpha_pci_alloc_coherent()
417 if (! cpu_addr) { in alpha_pci_alloc_coherent()
425 memset(cpu_addr, 0, size); in alpha_pci_alloc_coherent()
427 *dma_addrp = pci_map_single_1(pdev, virt_to_phys(cpu_addr), size, 0); in alpha_pci_alloc_coherent()
429 free_pages((unsigned long)cpu_addr, order); in alpha_pci_alloc_coherent()
439 size, cpu_addr, *dma_addrp, __builtin_return_address(0)); in alpha_pci_alloc_coherent()
441 return cpu_addr; in alpha_pci_alloc_coherent()
451 void *cpu_addr, dma_addr_t dma_addr, in alpha_pci_free_coherent() argument
456 free_pages((unsigned long)cpu_addr, get_order(size)); in alpha_pci_free_coherent()
/linux/arch/sparc/kernel/
H A Dioport.c256 bool sparc_dma_free_resource(void *cpu_addr, size_t size) in sparc_dma_free_resource() argument
258 unsigned long addr = (unsigned long)cpu_addr; in sparc_dma_free_resource()
263 printk("%s: cannot free %p\n", __func__, cpu_addr); in sparc_dma_free_resource()
268 printk("%s: unaligned va %p\n", __func__, cpu_addr); in sparc_dma_free_resource()
/linux/drivers/gpu/drm/radeon/
H A Dradeon_fence.c72 if (drv->cpu_addr) in radeon_fence_write()
73 *drv->cpu_addr = cpu_to_le32(seq); in radeon_fence_write()
94 if (drv->cpu_addr) in radeon_fence_read()
95 seq = le32_to_cpu(*drv->cpu_addr); in radeon_fence_read()
776 rdev->fence_drv[ring].cpu_addr = &rdev->wb.wb[index/4]; in radeon_fence_driver_start_ring()
783 rdev->fence_drv[ring].cpu_addr = rdev->uvd.cpu_addr + index; in radeon_fence_driver_start_ring()
796 rdev->fence_drv[ring].cpu_addr = &rdev->wb.wb[index/4]; in radeon_fence_driver_start_ring()
821 rdev->fence_drv[ring].cpu_addr = NULL; in radeon_fence_driver_init_ring()
/linux/arch/powerpc/kernel/
H A Disa-bridge.c72 if (range.cpu_addr == OF_BAD_ADDR) { in process_ISA_OF_ranges()
78 if ((range.bus_addr & ~PAGE_MASK) || (range.cpu_addr & ~PAGE_MASK)) { in process_ISA_OF_ranges()
89 phb_io_base_phys = range.cpu_addr; in process_ISA_OF_ranges()

12345