drm/etnaviv: block 64K of address space behind each cmdstream
authorLucas Stach <l.stach@pengutronix.de>
Thu, 6 Oct 2016 15:03:28 +0000 (17:03 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Mon, 10 Oct 2016 13:26:39 +0000 (15:26 +0200)
To make sure we don't place anything there which might confuse
the FE prefetcher. This gets rid of another case of FE MMU faults
when the address space gets crowded before triggering the reaper.

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

index d3796ed..169ac96 100644 (file)
@@ -330,7 +330,8 @@ u32 etnaviv_iommu_get_cmdbuf_va(struct etnaviv_gpu *gpu,
                        return (u32)buf->vram_node.start;
 
                mutex_lock(&mmu->lock);
-               ret = etnaviv_iommu_find_iova(mmu, &buf->vram_node, buf->size);
+               ret = etnaviv_iommu_find_iova(mmu, &buf->vram_node,
+                                             buf->size + SZ_64K);
                if (ret < 0) {
                        mutex_unlock(&mmu->lock);
                        return 0;