From 2d5d55702bb8eced32d5b8cb3c0cd125fd99d6dc Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 28 Nov 2012 15:46:29 +0000 Subject: [PATCH] sna/gen6+: Override PTE cacheability bits for reads This is primarily useful for enabling the render cache for reads from scanouts. Signed-off-by: Chris Wilson --- src/sna/gen6_render.c | 2 +- src/sna/gen7_render.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index ecdb5796..033f1cba 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -1249,7 +1249,7 @@ gen6_bind_bo(struct sna *sna, ss[3] = (gen6_tiling_bits(bo->tiling) | (bo->pitch - 1) << GEN6_SURFACE_PITCH_SHIFT); ss[4] = 0; - ss[5] = 0; + ss[5] = is_dst && bo->scanout ? 0 : 3 << 16; kgem_bo_set_binding(bo, format, offset); diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index 063d0523..50d1b301 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -1370,7 +1370,7 @@ gen7_bind_bo(struct sna *sna, (height - 1) << GEN7_SURFACE_HEIGHT_SHIFT); ss[3] = (bo->pitch - 1) << GEN7_SURFACE_PITCH_SHIFT; ss[4] = 0; - ss[5] = 0; + ss[5] = is_dst && bo->scanout ? 0 : 3 << 16; ss[6] = 0; ss[7] = 0; if (sna->kgem.gen == 75)