linux/include/drm/ttm
Zack Rusin 2696f9010d drm/ttm: Clarify that the TTM_PL_SYSTEM is under TTMs control
TTM takes full control over TTM_PL_SYSTEM placed buffers. This makes
driver internal usage of TTM_PL_SYSTEM prone to errors because it
requires the drivers to manually handle all interactions between TTM
which can swap out those buffers whenever it thinks it's the right
thing to do and driver.

CPU buffers which need to be fenced and shared with accelerators should
be placed in driver specific placements that can explicitly handle
CPU/accelerator buffer fencing.
Currently, apart, from things silently failing nothing is enforcing
that requirement which means that it's easy for drivers and new
developers to get this wrong. To avoid the confusion we can document
this requirement and clarify the solution.

This came up during a discussion on dri-devel:
https://lore.kernel.org/dri-devel/232f45e9-8748-1243-09bf-56763e6668b3@amd.com

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211110145034.487512-1-zackr@vmware.com
2021-12-01 11:58:37 -05:00
..
ttm_bo_api.h drm/ttm: Don't include drm_hashtab.h 2021-11-30 09:41:10 +01:00
ttm_bo_driver.h drm/ttm, drm/i915: Update ttm_move_memcpy for async use 2021-08-25 16:05:47 +02:00
ttm_caching.h drm/ttm: add kerneldoc for enum ttm_caching 2021-09-09 13:26:43 +02:00
ttm_device.h drm/ttm: s/FLAG_SG/FLAG_EXTERNAL/ 2021-09-29 16:17:56 +02:00
ttm_execbuf_util.h drm/ttm: remove superflous extern attribute from funcs 2020-09-17 16:14:42 +02:00
ttm_kmap_iter.h drm/ttm: Add a generic TTM memcpy move for page-based iomem 2021-06-07 16:07:08 +02:00
ttm_placement.h drm/ttm: Clarify that the TTM_PL_SYSTEM is under TTMs control 2021-12-01 11:58:37 -05:00
ttm_pool.h drm/ttm: enable TTM page pool kerneldoc 2021-09-09 13:30:14 +02:00
ttm_range_manager.h drm/ttm: Try to check if new ttm man out of bounds during compile 2021-09-13 10:14:28 +02:00
ttm_resource.h drm/ttm: enable TTM resource object kerneldoc v2 2021-09-09 13:28:28 +02:00
ttm_tt.h drm/ttm: add TTM_TT_FLAG_EXTERNAL_MAPPABLE 2021-09-29 16:18:43 +02:00