summaryrefslogtreecommitdiff
path: root/shared-core/drm.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-01-07 13:10:50 -0800
committerEric Anholt <eric@anholt.net>2008-01-17 16:55:43 -0800
commit44a9fa8cc6c7d598163d1885bf69e4bf747a004b (patch)
tree1440d56949578fc011c21eb19f2b5ace8e069b4b /shared-core/drm.h
parentac6b3780c816f81c8159ff5ba07a77563e26a1c5 (diff)
Add additional explanation of DRM_BO_FLAG_CACHED_MAPPED before I forget again.
Diffstat (limited to 'shared-core/drm.h')
-rw-r--r--shared-core/drm.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/shared-core/drm.h b/shared-core/drm.h
index 6b4125f2..a551e4c2 100644
--- a/shared-core/drm.h
+++ b/shared-core/drm.h
@@ -705,7 +705,14 @@ struct drm_fence_arg {
*/
#define DRM_BO_FLAG_NO_MOVE (1ULL << 8)
-/* Mask: Make sure the buffer is in cached memory when mapped
+/* Mask: Make sure the buffer is in cached memory when mapped. In conjunction
+ * with DRM_BO_FLAG_CACHED it also allows the buffer to be bound into the GART
+ * with unsnooped PTEs instead of snooped, by using chipset-specific cache
+ * flushing at bind time. A better name might be DRM_BO_FLAG_TT_UNSNOOPED,
+ * as the eviction to local memory (TTM unbind) on map is just a side effect
+ * to prevent aggressive cache prefetch from the GPU disturbing the cache
+ * management that the DRM is doing.
+ *
* Flags: Acknowledge.
* Buffers allocated with this flag should not be used for suballocators
* This type may have issues on CPUs with over-aggressive caching