| /linux/kernel/dma/ |
| H A D | remap.c | 9 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 D | ops_helpers.c | 9 static struct page *dma_common_vaddr_to_page(void *cpu_addr) in dma_common_vaddr_to_page() argument 11 if (is_vmalloc_addr(cpu_addr)) in dma_common_vaddr_to_page() 12 return vmalloc_to_page(cpu_addr); in dma_common_vaddr_to_page() 13 return virt_to_page(cpu_addr); in dma_common_vaddr_to_page() 20 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_common_get_sgtable() argument 23 struct page *page = dma_common_vaddr_to_page(cpu_addr); in dma_common_get_sgtable() 36 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_common_mmap() argument 43 struct page *page = dma_common_vaddr_to_page(cpu_addr); in dma_common_mmap() 48 if (dma_mmap_from_dev_coherent(dev, vma, cpu_addr, size, &ret)) in dma_common_mmap()
|
| H A D | mapping.c | 518 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_get_sgtable_attrs() argument 524 return dma_direct_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs() 527 return iommu_dma_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs() 531 return ops->get_sgtable(dev, sgt, cpu_addr, dma_addr, size, attrs); in dma_get_sgtable_attrs() 585 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_mmap_attrs() argument 591 return dma_direct_mmap(dev, vma, cpu_addr, dma_addr, size, in dma_mmap_attrs() 594 return iommu_dma_mmap(dev, vma, cpu_addr, dma_addr, size, in dma_mmap_attrs() 598 return ops->mmap(dev, vma, cpu_addr, dma_addr, size, attrs); in dma_mmap_attrs() 631 void *cpu_addr; in dma_alloc_attrs() local 643 if (dma_alloc_from_dev_coherent(dev, size, dma_handle, &cpu_addr)) { in dma_alloc_attrs() [all …]
|
| H A D | direct.c | 311 void *cpu_addr, dma_addr_t dma_addr, unsigned long attrs) in dma_direct_free() argument 318 dma_free_contiguous(dev, cpu_addr, size); in dma_direct_free() 325 arch_dma_free(dev, size, cpu_addr, dma_addr, attrs); in dma_direct_free() 331 if (!dma_release_from_global_coherent(page_order, cpu_addr)) in dma_direct_free() 338 dma_free_from_pool(dev, cpu_addr, PAGE_ALIGN(size))) in dma_direct_free() 341 if (is_vmalloc_addr(cpu_addr)) { in dma_direct_free() 342 vunmap(cpu_addr); in dma_direct_free() 345 arch_dma_clear_uncached(cpu_addr, size); in dma_direct_free() 346 if (dma_set_encrypted(dev, cpu_addr, size)) in dma_direct_free() 512 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_direct_get_sgtable() argument [all …]
|
| H A D | pool.c | 250 struct gen_pool *pool, void **cpu_addr, in __dma_alloc_from_pool() argument 269 *cpu_addr = (void *)addr; in __dma_alloc_from_pool() 270 memset(*cpu_addr, 0, size); in __dma_alloc_from_pool() 275 void **cpu_addr, gfp_t gfp, in dma_alloc_from_pool() argument 284 page = __dma_alloc_from_pool(dev, size, pool, cpu_addr, in dma_alloc_from_pool()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_mem_pool.c | 45 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/arch/s390/kvm/ |
| H A D | trace.h | 220 TP_PROTO(VCPU_PROTO_COMMON, __u8 order_code, __u16 cpu_addr, \ 222 TP_ARGS(VCPU_ARGS_COMMON, order_code, cpu_addr, parameter), 227 __field(__u16, cpu_addr) 234 __entry->cpu_addr = cpu_addr; 242 __entry->cpu_addr, __entry->parameter) 246 TP_PROTO(VCPU_PROTO_COMMON, __u8 order_code, __u16 cpu_addr), 247 TP_ARGS(VCPU_ARGS_COMMON, order_code, cpu_addr), 252 __field(__u16, cpu_addr) 258 __entry->cpu_addr = cpu_addr; 265 __entry->cpu_addr)
|
| H A D | sigp.c | 271 u16 cpu_addr, u32 parameter, u64 *status_reg) in handle_sigp_dst() argument 274 struct kvm_vcpu *dst_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr); in handle_sigp_dst() 376 u16 cpu_addr) in handle_sigp_order_in_user_space() argument 420 order_code, cpu_addr); in handle_sigp_order_in_user_space() 430 u16 cpu_addr = vcpu->run->s.regs.gprs[r3]; in kvm_s390_handle_sigp() local 439 if (handle_sigp_order_in_user_space(vcpu, order_code, cpu_addr)) in kvm_s390_handle_sigp() 447 trace_kvm_s390_handle_sigp(vcpu, order_code, cpu_addr, parameter); in kvm_s390_handle_sigp() 455 rc = handle_sigp_dst(vcpu, order_code, cpu_addr, in kvm_s390_handle_sigp() 479 u16 cpu_addr = vcpu->run->s.regs.gprs[r3]; in kvm_s390_handle_sigp_pei() local 484 trace_kvm_s390_handle_sigp_pei(vcpu, order_code, cpu_addr); in kvm_s390_handle_sigp_pei() [all …]
|
| /linux/arch/arm/mm/ |
| H A D | dma-mapping.c | 54 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 D | saa7146_core.c | 403 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/drivers/pci/controller/mobiveil/ |
| H A D | pcie-mobiveil.c | 137 u64 cpu_addr, u64 pci_addr, u32 type, u64 size) in program_ib_windows() argument 157 mobiveil_csr_writel(pcie, lower_32_bits(cpu_addr), in program_ib_windows() 159 mobiveil_csr_writel(pcie, upper_32_bits(cpu_addr), in program_ib_windows() 174 u64 cpu_addr, u64 pci_addr, u32 type, u64 size) in program_ob_windows() argument 203 lower_32_bits(cpu_addr) & (~AXI_WINDOW_ALIGN_MASK), in program_ob_windows() 205 mobiveil_csr_writel(pcie, upper_32_bits(cpu_addr), in program_ob_windows()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_isp.c | 251 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 D | vce_v1_0.c | 196 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()
|
| /linux/drivers/pci/controller/dwc/ |
| H A D | pcie-tegra194-acpi.c | 49 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/of/ |
| H A D | address.c | 230 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() 808 range->cpu_addr = of_translate_dma_address(parser->node, in of_pci_range_parser_one() 811 range->cpu_addr = of_translate_address(parser->node, in of_pci_range_parser_one() 822 u64 bus_addr, cpu_addr, size; in of_pci_range_parser_one() local 827 cpu_addr = of_translate_dma_address(parser->node, in of_pci_range_parser_one() 830 cpu_addr = of_translate_address(parser->node, in of_pci_range_parser_one() 837 cpu_addr != range->cpu_addr + range->size) in of_pci_range_parser_one() 921 if (range.cpu_addr == OF_BAD_ADDR) { in of_dma_get_range() [all …]
|
| /linux/drivers/dibs/ |
| H A D | dibs_loopback.c | 84 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() 130 folio_put(virt_to_folio(dmb_node->cpu_addr)); in __dibs_lo_unregister_dmb() 202 dmb->cpu_addr = dmb_node->cpu_addr; in dibs_lo_attach_dmb() 257 memcpy((char *)rmb_node->cpu_addr + offset, data, size); in dibs_lo_move_data()
|
| /linux/rust/kernel/ |
| H A D | dma.rs | 598 cpu_addr: NonNull<T>, field 606 T::size(self.cpu_addr.as_ptr()) in size() 612 self.cpu_addr.as_ptr() in as_ptr() 619 self.cpu_addr.as_ptr() in as_mut_ptr() 730 let cpu_addr = NonNull::new(addr.cast()).ok_or(ENOMEM)?; in alloc_with_attrs() localVariable 738 cpu_addr, in alloc_with_attrs() 847 let cpu_addr = NonNull::slice_from_raw_parts(NonNull::new(addr.cast()).ok_or(ENOMEM)?, len); in alloc_slice_with_attrs() localVariable 855 cpu_addr, in alloc_slice_with_attrs() 959 self.cpu_addr.len() in len() 966 let size = T::size(self.cpu_addr.as_ptr()); in drop() [all …]
|
| /linux/drivers/iommu/ |
| H A D | dma-iommu.c | 1583 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 [all …]
|
| /linux/include/linux/ |
| H A D | dma-mapping.h | 183 void dma_free_attrs(struct device *dev, size_t size, void *cpu_addr, 190 void *cpu_addr, dma_addr_t dma_addr, size_t size, 193 void *cpu_addr, dma_addr_t dma_addr, size_t size, 269 void *cpu_addr, dma_addr_t dma_handle, unsigned long attrs) in dma_free_attrs() argument 282 struct sg_table *sgt, void *cpu_addr, dma_addr_t dma_addr, in dma_get_sgtable_attrs() argument 288 void *cpu_addr, dma_addr_t dma_addr, size_t size, in dma_mmap_attrs() argument 622 void *cpu_addr, dma_addr_t dma_handle) in dma_free_coherent() argument 624 return dma_free_attrs(dev, size, cpu_addr, dma_handle, 0); in dma_free_coherent() 762 void *cpu_addr, dma_addr_t dma_addr) in dma_free_wc() argument 764 return dma_free_attrs(dev, size, cpu_addr, dma_addr, in dma_free_wc() [all …]
|
| /linux/drivers/pci/controller/ |
| H A D | pci-xgene.c | 363 u64 cpu_addr, u64 pci_addr) in xgene_pcie_setup_ob_reg() argument 385 xgene_pcie_writel(port, offset, lower_32_bits(cpu_addr)); in xgene_pcie_setup_ob_reg() 386 xgene_pcie_writel(port, offset + 0x04, upper_32_bits(cpu_addr)); in xgene_pcie_setup_ob_reg() 484 u64 cpu_addr = range->cpu_addr; in xgene_pcie_setup_ib_reg() local 501 bar_low = pcie_bar_low_val((u32)cpu_addr, flags); in xgene_pcie_setup_ib_reg() 507 writel(upper_32_bits(cpu_addr), bar_addr + 0x4); in xgene_pcie_setup_ib_reg() 517 xgene_pcie_writel(port, IBAR3L + 0x4, upper_32_bits(cpu_addr)); in xgene_pcie_setup_ib_reg() 542 u64 end = range.cpu_addr + range.size - 1; in xgene_pcie_parse_map_dma_ranges() 545 range.flags, range.cpu_addr, end, range.pci_addr); in xgene_pcie_parse_map_dma_ranges()
|
| H A D | pcie-rcar.c | 102 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/drivers/remoteproc/ |
| H A D | st_slim_rproc.c | 143 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/include/drm/amd/ |
| H A D | isp.h | 47 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/gpu/drm/amd/ras/ras_mgr/ |
| H A D | amdgpu_virt_ras_cmd.c | 69 shared_mem->cpu_addr = ras_telemetry_cpu->uniras_shared_mem.blocks_ecc_buf; in amdgpu_virt_ras_get_cmd_shared_mem() 78 shared_mem->cpu_addr = ras_telemetry_cpu->uniras_shared_mem.cmd_buf; in amdgpu_virt_ras_get_cmd_shared_mem() 104 rcmd = (struct ras_cmd_ctx *)shared_mem.cpu_addr; in amdgpu_virt_ras_remote_ioctl_cmd() 309 if (!blks_ecc || !blks_ecc->shared_mem.cpu_addr) in __fill_get_blocks_ecc_cmd() 312 rcmd = (struct ras_cmd_ctx *)blks_ecc->shared_mem.cpu_addr; in __fill_get_blocks_ecc_cmd() 373 blks_ecc_cmd_ctx = blks_ecc->shared_mem.cpu_addr; in amdgpu_virt_ras_get_block_ecc() 520 if (blks_ecc->shared_mem.cpu_addr) in amdgpu_virt_ras_hw_fini() 521 memset(blks_ecc->shared_mem.cpu_addr, 0, blks_ecc->shared_mem.size); in amdgpu_virt_ras_hw_fini()
|
| /linux/arch/alpha/kernel/ |
| H A D | pci_iommu.c | 410 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()
|