diff options
Diffstat (limited to 'arch/s390/pci/pci_dma.c')
-rw-r--r-- | arch/s390/pci/pci_dma.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/s390/pci/pci_dma.c b/arch/s390/pci/pci_dma.c index 7e5573acb063..9b83d080902d 100644 --- a/arch/s390/pci/pci_dma.c +++ b/arch/s390/pci/pci_dma.c | |||
@@ -145,10 +145,8 @@ static int dma_update_trans(struct zpci_dev *zdev, unsigned long pa, | |||
145 | return -EINVAL; | 145 | return -EINVAL; |
146 | 146 | ||
147 | spin_lock_irqsave(&zdev->dma_table_lock, irq_flags); | 147 | spin_lock_irqsave(&zdev->dma_table_lock, irq_flags); |
148 | if (!zdev->dma_table) { | 148 | if (!zdev->dma_table) |
149 | dev_err(&zdev->pdev->dev, "Missing DMA table\n"); | ||
150 | goto no_refresh; | 149 | goto no_refresh; |
151 | } | ||
152 | 150 | ||
153 | for (i = 0; i < nr_pages; i++) { | 151 | for (i = 0; i < nr_pages; i++) { |
154 | dma_update_cpu_trans(zdev, page_addr, dma_addr, flags); | 152 | dma_update_cpu_trans(zdev, page_addr, dma_addr, flags); |
@@ -280,11 +278,8 @@ static dma_addr_t s390_dma_map_pages(struct device *dev, struct page *page, | |||
280 | size = nr_pages * PAGE_SIZE; | 278 | size = nr_pages * PAGE_SIZE; |
281 | 279 | ||
282 | dma_addr = zdev->start_dma + iommu_page_index * PAGE_SIZE; | 280 | dma_addr = zdev->start_dma + iommu_page_index * PAGE_SIZE; |
283 | if (dma_addr + size > zdev->end_dma) { | 281 | if (dma_addr + size > zdev->end_dma) |
284 | dev_err(dev, "(dma_addr: 0x%16.16LX + size: 0x%16.16lx) > end_dma: 0x%16.16Lx\n", | ||
285 | dma_addr, size, zdev->end_dma); | ||
286 | goto out_free; | 282 | goto out_free; |
287 | } | ||
288 | 283 | ||
289 | if (direction == DMA_NONE || direction == DMA_TO_DEVICE) | 284 | if (direction == DMA_NONE || direction == DMA_TO_DEVICE) |
290 | flags |= ZPCI_TABLE_PROTECTED; | 285 | flags |= ZPCI_TABLE_PROTECTED; |
@@ -297,7 +292,8 @@ static dma_addr_t s390_dma_map_pages(struct device *dev, struct page *page, | |||
297 | out_free: | 292 | out_free: |
298 | dma_free_iommu(zdev, iommu_page_index, nr_pages); | 293 | dma_free_iommu(zdev, iommu_page_index, nr_pages); |
299 | out_err: | 294 | out_err: |
300 | dev_err(dev, "Failed to map addr: %lx\n", pa); | 295 | zpci_err("map error:\n"); |
296 | zpci_err_hex(&pa, sizeof(pa)); | ||
301 | return DMA_ERROR_CODE; | 297 | return DMA_ERROR_CODE; |
302 | } | 298 | } |
303 | 299 | ||
@@ -312,8 +308,10 @@ static void s390_dma_unmap_pages(struct device *dev, dma_addr_t dma_addr, | |||
312 | npages = iommu_num_pages(dma_addr, size, PAGE_SIZE); | 308 | npages = iommu_num_pages(dma_addr, size, PAGE_SIZE); |
313 | dma_addr = dma_addr & PAGE_MASK; | 309 | dma_addr = dma_addr & PAGE_MASK; |
314 | if (dma_update_trans(zdev, 0, dma_addr, npages * PAGE_SIZE, | 310 | if (dma_update_trans(zdev, 0, dma_addr, npages * PAGE_SIZE, |
315 | ZPCI_TABLE_PROTECTED | ZPCI_PTE_INVALID)) | 311 | ZPCI_TABLE_PROTECTED | ZPCI_PTE_INVALID)) { |
316 | dev_err(dev, "Failed to unmap addr: %Lx\n", dma_addr); | 312 | zpci_err("unmap error:\n"); |
313 | zpci_err_hex(&dma_addr, sizeof(dma_addr)); | ||
314 | } | ||
317 | 315 | ||
318 | atomic64_add(npages, (atomic64_t *) &zdev->fmb->unmapped_pages); | 316 | atomic64_add(npages, (atomic64_t *) &zdev->fmb->unmapped_pages); |
319 | iommu_page_index = (dma_addr - zdev->start_dma) >> PAGE_SHIFT; | 317 | iommu_page_index = (dma_addr - zdev->start_dma) >> PAGE_SHIFT; |