Lines Matching defs:dma_addr
119 unsigned long *dma_walk_cpu_trans(unsigned long *rto, dma_addr_t dma_addr,
125 rtx = calc_rtx(dma_addr);
130 sx = calc_sx(dma_addr);
135 px = calc_px(dma_addr);
160 dma_addr_t dma_addr, size_t size, int flags)
174 entry = dma_walk_cpu_trans(zdev->dma_table, dma_addr,
182 dma_addr += PAGE_SIZE;
190 dma_addr -= PAGE_SIZE;
191 entry = dma_walk_cpu_trans(zdev->dma_table, dma_addr,
201 static int __dma_purge_tlb(struct zpci_dev *zdev, dma_addr_t dma_addr,
222 ret = zpci_refresh_trans((u64) zdev->fh << 32, dma_addr,
241 dma_addr_t dma_addr, size_t size, int flags)
245 rc = __dma_update_trans(zdev, pa, dma_addr, size, flags);
249 rc = __dma_purge_tlb(zdev, dma_addr, size, flags);
251 __dma_update_trans(zdev, pa, dma_addr, size, ZPCI_PTE_INVALID);
325 static void dma_free_address(struct device *dev, dma_addr_t dma_addr, int size)
330 offset = (dma_addr - zdev->start_dma) >> PAGE_SHIFT;
364 dma_addr_t dma_addr;
369 dma_addr = dma_alloc_address(dev, nr_pages);
370 if (dma_addr == DMA_MAPPING_ERROR) {
381 ret = dma_update_trans(zdev, pa, dma_addr, size, flags);
386 return dma_addr + (offset & ~PAGE_MASK);
389 dma_free_address(dev, dma_addr, nr_pages);
396 static void s390_dma_unmap_pages(struct device *dev, dma_addr_t dma_addr,
403 npages = iommu_num_pages(dma_addr, size, PAGE_SIZE);
404 dma_addr = dma_addr & PAGE_MASK;
405 ret = dma_update_trans(zdev, 0, dma_addr, npages * PAGE_SIZE,
409 zpci_err_dma(ret, dma_addr);
414 dma_free_address(dev, dma_addr, npages);
463 dma_addr_t dma_addr_base, dma_addr;
473 dma_addr = dma_addr_base;
477 for (s = sg; dma_addr < dma_addr_base + size; s = sg_next(s)) {
479 ret = __dma_update_trans(zdev, pa, dma_addr,
484 dma_addr += s->offset + s->length;
496 dma_update_trans(zdev, 0, dma_addr_base, dma_addr - dma_addr_base,