Browse Source

drm/etnaviv: only try to use the linear window on MMUv1

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>
Lucas Stach 9 years ago
parent
commit
1486b1cb80
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/gpu/drm/etnaviv/etnaviv_mmu.c

+ 2 - 1
drivers/gpu/drm/etnaviv/etnaviv_mmu.c

@@ -115,7 +115,8 @@ int etnaviv_iommu_map_gem(struct etnaviv_iommu *mmu,
 	mutex_lock(&mmu->lock);
 	mutex_lock(&mmu->lock);
 
 
 	/* v1 MMU can optimize single entry (contiguous) scatterlists */
 	/* 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;
 		u32 iova;
 
 
 		iova = sg_dma_address(sgt->sgl) - memory_base;
 		iova = sg_dma_address(sgt->sgl) - memory_base;