[PATCH RFC 091/111] staging: etnaviv: properly flush all TLBs on MMUv1

Lucas Stach l.stach at pengutronix.de
Thu Apr 2 08:30:33 PDT 2015


Avoids memory corruptions seen due to stale TLB entries.

Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
 drivers/staging/etnaviv/etnaviv_buffer.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/etnaviv/etnaviv_buffer.c b/drivers/staging/etnaviv/etnaviv_buffer.c
index 391b2afc7f59..05e0da28cc97 100644
--- a/drivers/staging/etnaviv/etnaviv_buffer.c
+++ b/drivers/staging/etnaviv/etnaviv_buffer.c
@@ -256,7 +256,10 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, unsigned int event,
 		/* Add the MMU flush */
 		CMD_LOAD_STATE(buffer, VIVS_GL_FLUSH_MMU,
 			       VIVS_GL_FLUSH_MMU_FLUSH_FEMMU |
-			       VIVS_GL_FLUSH_MMU_FLUSH_PEMMU);
+			       VIVS_GL_FLUSH_MMU_FLUSH_UNK1 |
+			       VIVS_GL_FLUSH_MMU_FLUSH_UNK2 |
+			       VIVS_GL_FLUSH_MMU_FLUSH_PEMMU |
+			       VIVS_GL_FLUSH_MMU_FLUSH_UNK4);
 
 		/* And the link to the first buffer */
 		CMD_LINK(buffer, link_size, link_target);
-- 
2.1.4



More information about the dri-devel mailing list