linux/drivers/gpu/drm/ttm
Thomas Hellstrom 667a50db04 drm/ttm: Refuse to fault (prime-) imported pages
This is illegal for at least two reasons:

1) While it may work on some platforms / iommus, obtaining page pointers from
mapped sg-lists is illegal, since the DMA API allows page pointer information
to be destroyed in the sg mapping process.

2) TTM has no way of determining the linear kernel map caching state of the
underlying pages. PTEs with conflicting caching state pointing to the same
pfn is not allowed.

TTM operations touching pages of imported sg-tables should be redirected through
the proper dma-buf operations.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Acked-by: Daniel Vetter <daniel@ffwll.ch>
2014-01-08 09:55:05 +01:00
..
Makefile drm/ttm: Enable the dma page pool also for intel IOMMUs 2013-11-06 03:55:52 -08:00
ttm_agp_backend.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
ttm_bo_manager.c drm/ttm: replace drm_mm_pre_get() by direct alloc 2013-08-07 10:15:29 +10:00
ttm_bo_util.c drm: Kill DRM_SUSER 2013-12-18 11:35:45 +10:00
ttm_bo_vm.c drm/ttm: Refuse to fault (prime-) imported pages 2014-01-08 09:55:05 +01:00
ttm_bo.c drm/ttm: Remove set_need_resched from the ttm fault handler 2013-11-20 03:46:54 -08:00
ttm_execbuf_util.c drm/ttm: Allow execbuf util reserves without ticket 2013-11-18 00:38:52 -08:00
ttm_lock.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
ttm_memory.c drm/ttm: remove ttm_mem_global->queue 2012-11-20 16:06:22 +10:00
ttm_module.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
ttm_object.c drm/ttm: Add a minimal prime implementation for ttm base objects 2013-11-18 00:46:41 -08:00
ttm_page_alloc_dma.c drm/ttm: Enable the dma page pool also for intel IOMMUs 2013-11-06 03:55:52 -08:00
ttm_page_alloc.c drivers: convert shrinkers to new count/scan API 2013-09-10 18:56:32 -04:00
ttm_tt.c drm/ttm: fix the tt_populated check in ttm_tt_destroy() 2013-09-19 11:48:30 +10:00