summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2008-03-05 15:08:46 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2008-03-05 15:09:17 +0800
commit638353103d009d44bd5bdbe97cc7cef1bf011cdf (patch)
tree2202ec17ecb80e95f320774156170ce2b638b6b4 /linux-core
parenta6a2f2c8c491617de702dc7d62bb55cbada4d42b (diff)
i915: Evict if relocatee buffer is CACHED_MAPPED before
writting relocations, otherwise the GPU probably sees some inconsistent data. Fix fd.o bug#14656
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/drm_bo.c3
-rw-r--r--linux-core/drm_objects.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/linux-core/drm_bo.c b/linux-core/drm_bo.c
index 3b180d15..17180d8d 100644
--- a/linux-core/drm_bo.c
+++ b/linux-core/drm_bo.c
@@ -1066,7 +1066,7 @@ static int drm_bo_busy(struct drm_buffer_object *bo)
return 0;
}
-static int drm_bo_evict_cached(struct drm_buffer_object *bo)
+int drm_bo_evict_cached(struct drm_buffer_object *bo)
{
int ret = 0;
@@ -1076,6 +1076,7 @@ static int drm_bo_evict_cached(struct drm_buffer_object *bo)
return ret;
}
+EXPORT_SYMBOL(drm_bo_evict_cached);
/*
* Wait until a buffer is unmapped.
*/
diff --git a/linux-core/drm_objects.h b/linux-core/drm_objects.h
index 69a5c27f..fd32f0f4 100644
--- a/linux-core/drm_objects.h
+++ b/linux-core/drm_objects.h
@@ -697,7 +697,7 @@ extern int drm_bo_do_validate(struct drm_buffer_object *bo,
uint64_t flags, uint64_t mask, uint32_t hint,
uint32_t fence_class,
struct drm_bo_info_rep *rep);
-
+extern int drm_bo_evict_cached(struct drm_buffer_object *bo);
/*
* Buffer object memory move- and map helpers.
* drm_bo_move.c