aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2016-10-06 17:03:28 +0200
committerLucas Stach <l.stach@pengutronix.de>2016-10-10 15:26:39 +0200
commit8814d2dce00f77c5eeb7278981ac6fd08835629e (patch)
tree3b33c15e9bc697a930f8588ddaa5a726c72bf0f7 /drivers/gpu/drm/etnaviv/etnaviv_mmu.c
parentdrm/etnaviv: ensure write caches are flushed at end of user cmdstream (diff)
downloadlinux-dev-8814d2dce00f77c5eeb7278981ac6fd08835629e.tar.xz
linux-dev-8814d2dce00f77c5eeb7278981ac6fd08835629e.zip
drm/etnaviv: block 64K of address space behind each cmdstream
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>
Diffstat (limited to 'drivers/gpu/drm/etnaviv/etnaviv_mmu.c')
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_mmu.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
index d3796ed8d8c5..169ac96e8f08 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
@@ -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;