From: Alexandre Courbot Date: Thu, 26 Feb 2015 03:44:51 +0000 (+0900) Subject: drm/nouveau/gem: allow user-space to specify an object should be coherent X-Git-Tag: omap-for-v4.1/fixes-rc1~82^2~6^2~28 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=996f545fbb0dc9ed4a640b5ef098f51fe28cca5c;p=pandora-kernel.git drm/nouveau/gem: allow user-space to specify an object should be coherent User-space use mappable BOs notably for fences, and expects that a value update by the GPU will be immediatly visible through the user-space mapping. ARM has a property that may prevent this from happening though: memory can be mapped multiple times only if the different mappings share the same caching properties. However all the lowmem memory is already identity-mapped into the kernel with cache enabled, so when user-space requests an uncached mapping, we actually get an "undefined caching policy" one and this has strange side-effects described on Freedesktop bug 86690. To prevent this from happening, allow user-space to explicitly specify which objects should be coherent, and create such objects with the TTM_PL_FLAG_UNCACHED flag. This will make TTM allocate memory using the DMA API, which will fix the identify mapping and allow us to safely map the objects to user-space uncached. Signed-off-by: Alexandre Courbot Reviewed-by: Lucas Stach Signed-off-by: Ben Skeggs --- Reading git-diff-tree failed