drm/etnaviv: only try to use the linear window on MMUv1
authorLucas Stach <l.stach@pengutronix.de>
Wed, 17 Aug 2016 14:15:25 +0000 (16:15 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Thu, 15 Sep 2016 13:29:32 +0000 (15:29 +0200)
As the comment above the code states, the linear window is only
available on MMUv1. Don't try to use it on MMUv2.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_mmu.c

index 29a723fabc17a7fc5f81d733501d28780e0dbcc2..e2013b5b3f6a9e41dee7e8da4068534737293e62 100644 (file)
@@ -115,7 +115,8 @@ int etnaviv_iommu_map_gem(struct etnaviv_iommu *mmu,
        mutex_lock(&mmu->lock);
 
        /* v1 MMU can optimize single entry (contiguous) scatterlists */
-       if (sgt->nents == 1 && !(etnaviv_obj->flags & ETNA_BO_FORCE_MMU)) {
+       if (mmu->version == ETNAVIV_IOMMU_V1 &&
+           sgt->nents == 1 && !(etnaviv_obj->flags & ETNA_BO_FORCE_MMU)) {
                u32 iova;
 
                iova = sg_dma_address(sgt->sgl) - memory_base;