Lines Matching refs:dev

282 static unsigned long __dma_alloc_iommu(struct device *dev,  in __dma_alloc_iommu()  argument
285 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in __dma_alloc_iommu()
289 dma_get_seg_boundary_nr_pages(dev, PAGE_SHIFT), in __dma_alloc_iommu()
293 static dma_addr_t dma_alloc_address(struct device *dev, int size) in dma_alloc_address() argument
295 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in dma_alloc_address()
299 offset = __dma_alloc_iommu(dev, zdev->next_bit, size); in dma_alloc_address()
311 offset = __dma_alloc_iommu(dev, 0, size); in dma_alloc_address()
325 static void dma_free_address(struct device *dev, dma_addr_t dma_addr, int size) in dma_free_address() argument
327 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in dma_free_address()
355 static dma_addr_t s390_dma_map_pages(struct device *dev, struct page *page, in s390_dma_map_pages() argument
360 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in s390_dma_map_pages()
369 dma_addr = dma_alloc_address(dev, nr_pages); in s390_dma_map_pages()
389 dma_free_address(dev, dma_addr, nr_pages); in s390_dma_map_pages()
396 static void s390_dma_unmap_pages(struct device *dev, dma_addr_t dma_addr, in s390_dma_unmap_pages() argument
400 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in s390_dma_unmap_pages()
414 dma_free_address(dev, dma_addr, npages); in s390_dma_unmap_pages()
417 static void *s390_dma_alloc(struct device *dev, size_t size, in s390_dma_alloc() argument
421 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in s390_dma_alloc()
432 map = s390_dma_map_pages(dev, page, 0, size, DMA_BIDIRECTIONAL, 0); in s390_dma_alloc()
433 if (dma_mapping_error(dev, map)) { in s390_dma_alloc()
444 static void s390_dma_free(struct device *dev, size_t size, in s390_dma_free() argument
448 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in s390_dma_free()
452 s390_dma_unmap_pages(dev, dma_handle, size, DMA_BIDIRECTIONAL, 0); in s390_dma_free()
457 static int __s390_dma_map_sg(struct device *dev, struct scatterlist *sg, in __s390_dma_map_sg() argument
462 struct zpci_dev *zdev = to_zpci(to_pci_dev(dev)); in __s390_dma_map_sg()
469 dma_addr_base = dma_alloc_address(dev, nr_pages); in __s390_dma_map_sg()
498 dma_free_address(dev, dma_addr_base, nr_pages); in __s390_dma_map_sg()
504 static int s390_dma_map_sg(struct device *dev, struct scatterlist *sg, in s390_dma_map_sg() argument
509 unsigned int max = dma_get_max_seg_size(dev); in s390_dma_map_sg()
521 ret = __s390_dma_map_sg(dev, start, size, in s390_dma_map_sg()
536 ret = __s390_dma_map_sg(dev, start, size, &dma->dma_address, dir); in s390_dma_map_sg()
546 s390_dma_unmap_pages(dev, sg_dma_address(s), sg_dma_len(s), in s390_dma_map_sg()
552 static void s390_dma_unmap_sg(struct device *dev, struct scatterlist *sg, in s390_dma_unmap_sg() argument
561 s390_dma_unmap_pages(dev, s->dma_address, s->dma_length, in s390_dma_unmap_sg()