iommu/ipmmu-vmsa: IPMMU device is 40-bit bus master
authorMagnus Damm <damm+renesas@opensource.se>
Mon, 16 Oct 2017 12:30:07 +0000 (21:30 +0900)
committerAlex Williamson <alex.williamson@redhat.com>
Mon, 6 Nov 2017 17:29:39 +0000 (10:29 -0700)
The r8a7795 IPMMU supports 40-bit bus mastering. Both
the coherent DMA mask and the streaming DMA mask are
set to unlock the 40-bit address space for coherent
allocations and streaming operations.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/iommu/ipmmu-vmsa.c

index 9cde619..6b74ec6 100644 (file)
@@ -903,6 +903,7 @@ static int ipmmu_probe(struct platform_device *pdev)
        spin_lock_init(&mmu->lock);
        bitmap_zero(mmu->ctx, IPMMU_CTX_MAX);
        mmu->features = of_device_get_match_data(&pdev->dev);
+       dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(40));
 
        /* Map I/O memory and request IRQ. */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);