Home
last modified time | relevance | path

Searched refs:tlb_addr (Results 1 – 3 of 3) sorted by relevance

/kernel/linux/linux-5.10/kernel/dma/
Dswiotlb.c418 static void swiotlb_bounce(phys_addr_t orig_addr, phys_addr_t tlb_addr, in swiotlb_bounce() argument
422 unsigned char *vaddr = phys_to_virt(tlb_addr); in swiotlb_bounce()
571 phys_addr_t tlb_addr; in swiotlb_tbl_map_single() local
602 tlb_addr = slot_addr(io_tlb_start, index) + offset; in swiotlb_tbl_map_single()
610 swiotlb_bounce(orig_addr, tlb_addr, mapping_size, DMA_TO_DEVICE); in swiotlb_tbl_map_single()
611 return tlb_addr; in swiotlb_tbl_map_single()
617 void swiotlb_tbl_unmap_single(struct device *hwdev, phys_addr_t tlb_addr, in swiotlb_tbl_unmap_single() argument
622 unsigned int offset = swiotlb_align_offset(hwdev, tlb_addr); in swiotlb_tbl_unmap_single()
624 int index = (tlb_addr - offset - io_tlb_start) >> IO_TLB_SHIFT; in swiotlb_tbl_unmap_single()
633 swiotlb_bounce(orig_addr, tlb_addr, mapping_size, DMA_FROM_DEVICE); in swiotlb_tbl_unmap_single()
[all …]
/kernel/linux/linux-5.10/include/linux/
Dswiotlb.h55 phys_addr_t tlb_addr,
62 phys_addr_t tlb_addr,
/kernel/linux/linux-5.10/drivers/iommu/intel/
Diommu.c3859 phys_addr_t tlb_addr; in bounce_sync_single() local
3865 tlb_addr = intel_iommu_iova_to_phys(&domain->domain, addr); in bounce_sync_single()
3866 if (is_swiotlb_buffer(tlb_addr)) in bounce_sync_single()
3867 swiotlb_tbl_sync_single(dev, tlb_addr, size, dir, target); in bounce_sync_single()
3880 phys_addr_t tlb_addr; in bounce_map_single() local
3917 tlb_addr = swiotlb_tbl_map_single(dev, paddr, size, in bounce_map_single()
3919 if (tlb_addr == DMA_MAPPING_ERROR) { in bounce_map_single()
3923 void *padding_start = phys_to_virt(tlb_addr); in bounce_map_single()
3936 tlb_addr = paddr; in bounce_map_single()
3940 tlb_addr >> VTD_PAGE_SHIFT, nrpages, prot); in bounce_map_single()
[all …]