• Home
  • Raw
  • Download

Lines Matching refs:dma_addr

98 unsigned long *dma_walk_cpu_trans(unsigned long *rto, dma_addr_t dma_addr)  in dma_walk_cpu_trans()  argument
103 rtx = calc_rtx(dma_addr); in dma_walk_cpu_trans()
108 sx = calc_sx(dma_addr); in dma_walk_cpu_trans()
113 px = calc_px(dma_addr); in dma_walk_cpu_trans()
133 dma_addr_t dma_addr, size_t size, int flags) in __dma_update_trans() argument
151 entry = dma_walk_cpu_trans(zdev->dma_table, dma_addr); in __dma_update_trans()
158 dma_addr += PAGE_SIZE; in __dma_update_trans()
166 dma_addr -= PAGE_SIZE; in __dma_update_trans()
167 entry = dma_walk_cpu_trans(zdev->dma_table, dma_addr); in __dma_update_trans()
178 static int __dma_purge_tlb(struct zpci_dev *zdev, dma_addr_t dma_addr, in __dma_purge_tlb() argument
193 return zpci_refresh_trans((u64) zdev->fh << 32, dma_addr, in __dma_purge_tlb()
198 dma_addr_t dma_addr, size_t size, int flags) in dma_update_trans() argument
202 rc = __dma_update_trans(zdev, pa, dma_addr, size, flags); in dma_update_trans()
206 rc = __dma_purge_tlb(zdev, dma_addr, size, flags); in dma_update_trans()
208 __dma_update_trans(zdev, pa, dma_addr, size, ZPCI_PTE_INVALID); in dma_update_trans()
284 static void dma_free_address(struct device *dev, dma_addr_t dma_addr, int size) in dma_free_address() argument
289 offset = (dma_addr - zdev->start_dma) >> PAGE_SHIFT; in dma_free_address()
323 dma_addr_t dma_addr; in s390_dma_map_pages() local
328 dma_addr = dma_alloc_address(dev, nr_pages); in s390_dma_map_pages()
329 if (dma_addr == DMA_ERROR_CODE) { in s390_dma_map_pages()
340 ret = dma_update_trans(zdev, pa, dma_addr, size, flags); in s390_dma_map_pages()
345 return dma_addr + (offset & ~PAGE_MASK); in s390_dma_map_pages()
348 dma_free_address(dev, dma_addr, nr_pages); in s390_dma_map_pages()
355 static void s390_dma_unmap_pages(struct device *dev, dma_addr_t dma_addr, in s390_dma_unmap_pages() argument
362 npages = iommu_num_pages(dma_addr, size, PAGE_SIZE); in s390_dma_unmap_pages()
363 dma_addr = dma_addr & PAGE_MASK; in s390_dma_unmap_pages()
364 ret = dma_update_trans(zdev, 0, dma_addr, npages * PAGE_SIZE, in s390_dma_unmap_pages()
368 zpci_err_dma(ret, dma_addr); in s390_dma_unmap_pages()
373 dma_free_address(dev, dma_addr, npages); in s390_dma_unmap_pages()
424 dma_addr_t dma_addr_base, dma_addr; in __s390_dma_map_sg() local
434 dma_addr = dma_addr_base; in __s390_dma_map_sg()
438 for (s = sg; dma_addr < dma_addr_base + size; s = sg_next(s)) { in __s390_dma_map_sg()
440 ret = __dma_update_trans(zdev, pa, dma_addr, in __s390_dma_map_sg()
445 dma_addr += s->offset + s->length; in __s390_dma_map_sg()
457 dma_update_trans(zdev, 0, dma_addr_base, dma_addr - dma_addr_base, in __s390_dma_map_sg()