iommu/s390: simplify registration of I/O address translation parameters
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Tue, 23 Aug 2016 13:59:15 +0000 (15:59 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 22 Sep 2016 11:42:28 +0000 (13:42 +0200)
When a new function is attached to an iommu domain we need to register
I/O address translation parameters. Since commit
69eea95c ("s390/pci_dma: fix DMA table corruption with > 4 TB main memory")
start_dma and end_dma correctly describe the range of usable I/O addresses.

Simplify the code by using these values directly.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/iommu/s390-iommu.c

index a04d491..3b44b1d 100644 (file)
@@ -101,8 +101,7 @@ static int s390_iommu_attach_device(struct iommu_domain *domain,
                zpci_dma_exit_device(zdev);
 
        zdev->dma_table = s390_domain->dma_table;
-       rc = zpci_register_ioat(zdev, 0, zdev->start_dma + PAGE_OFFSET,
-                               zdev->start_dma + zdev->iommu_size - 1,
+       rc = zpci_register_ioat(zdev, 0, zdev->start_dma, zdev->end_dma,
                                (u64) zdev->dma_table);
        if (rc)
                goto out_restore;