linux-sg2042/include/uapi/drm
Alexandre Courbot 996f545fbb 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 <acourbot@nvidia.com>
Reviewed-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-04-14 17:00:46 +10:00
..
Kbuild drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
armada_drm.h DRM: Armada: Add Armada DRM driver 2013-10-12 10:13:40 +01:00
drm.h drm: add support for tiled/compressed/etc modifier in addfb2 2015-02-13 23:28:12 +01:00
drm_fourcc.h drm/fourcc: 64 #defines need ULL postfix 2015-03-17 22:30:18 +01:00
drm_mode.h drm: add support for tiled/compressed/etc modifier in addfb2 2015-02-13 23:28:12 +01:00
drm_sarea.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
exynos_drm.h drm/exynos: use drm generic mmap interface 2014-09-20 01:00:13 +09:00
i810_drm.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
i915_drm.h drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl 2015-03-27 09:10:26 +01:00
mga_drm.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
msm_drm.h drm/msm: validate flags, etc 2014-03-31 10:27:46 -04:00
nouveau_drm.h drm/nouveau/gem: allow user-space to specify an object should be coherent 2015-04-14 17:00:46 +10:00
omap_drm.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
qxl_drm.h drm: add new QXL driver. (v1.4) 2013-04-12 13:51:07 +10:00
r128_drm.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
radeon_drm.h drm/radeon: add support for read reg query from radeon info ioctl 2015-03-19 12:26:42 -04:00
savage_drm.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
sis_drm.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
tegra_drm.h drm/tegra: gem: Return 64-bit offset for mmap(2) 2015-04-02 18:49:23 +02:00
via_drm.h UAPI: (Scripted) Disintegrate include/drm 2012-10-04 18:21:50 +01:00
vmwgfx_drm.h drm/vmwgfx: Fix drm.h include 2014-09-12 13:57:49 +10:00