- 11 Jan, 2017 1 commit
-
-
Lucas Stach authored
After rollover of the IOVA space, we want to get a low IOVA address, otherwise the the games we play by remembering the last IOVA are pointless. When we search for a free hole with DRM_MM_SEARCH_DEFAULT, drm_mm will pop the next entry from the free holes stack, which will likely be a high IOVA. By using DRM_MM_SEARCH_BELOW we can trick drm_mm into reversing the search and provide us with a low IOVA. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir van der Laan <laanwj@gmail.com>
-
- 10 Oct, 2016 1 commit
-
-
Lucas Stach authored
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>
-
- 15 Sep, 2016 8 commits
-
-
Lucas Stach authored
At least on the GC3000 the FE MMU is not properly flushing stale TLB entries. Make sure to map the cmdbufs with a big enough spacing in the IOVAs to not hit old/prefetched TLB entries when jumping to a newly mapped cmdbuf. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
All other parts are now in place, so implement the actual translation step and hook it up, so the driver claims support for cores with the new MMU. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
With MMUv2 all buffers need to be mapped through the MMU once it is enabled. Align the buffer size to 4K, as the MMU is only able to map page aligned buffers. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
With MMUv2 the command buffers need to be mapped through the MMU. Split out the iova search and MMU reaping logic so it can be reused for the cmdbuf mapping, where no GEM object is involved. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
The GPU virtual address for the command buffers differs depending on the IOMMU version. Move the calculation of the iova into etnaviv mmu, to enable proper dispatch. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
The GPU code doesn't need to deal with the IOMMU directly, instead it can all be hidden behind the etnaviv mmu interface. Move the last remaining part into etnaviv mmu. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
So we can call the v2 restore code once it is there. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
Lucas Stach authored
As the comment above the code states, the linear window is only available on MMUv1. Don't try to use it on MMUv2. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
- 07 Mar, 2016 1 commit
-
-
Russell King authored
Currently, we scan the list of mappings each time we want to operate on the vram_mapping struct. Rather than repeatedly scanning these, look them up once in the submission path, and then use _reference and _unreference methods as necessary to manage this object. Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by:
Lucas Stach <l.stach@pengutronix.de>
-
- 15 Dec, 2015 1 commit
-
-
The etnaviv authors authored
This adds the etnaviv DRM driver and hooks it up in Makefiles and Kconfig. Signed-off-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Acked-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-