]> git.baikalelectronics.ru Git - kernel.git/commit
drm/etnaviv: always flush MMU TLBs on map/unmap
authorLucas Stach <l.stach@pengutronix.de>
Tue, 17 Jan 2017 09:59:37 +0000 (10:59 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Thu, 2 Feb 2017 09:30:08 +0000 (10:30 +0100)
commit3e57a3080f404e03a3ba10eed0ac66cc6fa2448e
tree02810e20c2af00eaa6fc59984e5453cc7ee68bbf
parentf5d6010d27e1539cff27bb576771cb75fcdd0202
drm/etnaviv: always flush MMU TLBs on map/unmap

This ensures that the GPU isn't able to write into already freed
objects, as doing this in the IOVA reaper isn't enough, as the
gem_free_object path will also cause unmaps to happen.

On MMUv2 this also ensures that stale entries, which may have
been prefetched into the TLB will be purged.

The flush is low overhead, as it gets batched up with the next
user command buffer, so this isn't incuring an overhead for
each buffer map/unmap.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
drivers/gpu/drm/etnaviv/etnaviv_mmu.c