diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2008-03-05 15:08:46 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2008-03-05 15:09:17 +0800 |
commit | 638353103d009d44bd5bdbe97cc7cef1bf011cdf (patch) | |
tree | 2202ec17ecb80e95f320774156170ce2b638b6b4 /linux-core | |
parent | a6a2f2c8c491617de702dc7d62bb55cbada4d42b (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.c | 3 | ||||
-rw-r--r-- | linux-core/drm_objects.h | 2 |
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 |