aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_fence.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-08 17:24:38 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-08 17:24:38 +0200
commit99acb7936660843090ea8a9f22d2d50d9433e0de (patch)
tree99044a2f889da0354027a59561bbbdf8896fcc18 /linux-core/drm_fence.c
parente3f54ecdd9d266607afd7d8b62960b2154b63e9d (diff)
Various bugfixes.
Diffstat (limited to 'linux-core/drm_fence.c')
-rw-r--r--linux-core/drm_fence.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/linux-core/drm_fence.c b/linux-core/drm_fence.c
index fd43d8bc..eaaf7f40 100644
--- a/linux-core/drm_fence.c
+++ b/linux-core/drm_fence.c
@@ -111,6 +111,10 @@ void drm_fence_handler(drm_device_t * dev, uint32_t sequence, uint32_t type)
relevant = type & fence->type;
if ((fence->signaled | relevant) != fence->signaled) {
fence->signaled |= relevant;
+#ifdef BODEBUG
+ DRM_ERROR("Fence 0x%08lx signaled 0x%08x\n",
+ fence->base.hash.key, fence->signaled);
+#endif
fence->submitted_flush |= relevant;
wake = 1;
}
@@ -130,6 +134,10 @@ void drm_fence_handler(drm_device_t * dev, uint32_t sequence, uint32_t type)
*/
if (!(fence->type & ~fence->signaled)) {
+#ifdef BODEBUG
+ DRM_ERROR("Fence completely signaled 0x%08lx\n",
+ fence->base.hash.key);
+#endif
fence_list = &fence->ring;
for (i = 0; i < driver->no_types; ++i) {
if (fm->fence_types[i] == fence_list)
@@ -172,6 +180,10 @@ void drm_fence_usage_deref_locked(drm_device_t * dev,
{
if (atomic_dec_and_test(&fence->usage)) {
drm_fence_unring(dev, &fence->ring);
+#ifdef BODEBUG
+ DRM_ERROR("Destroyed a fence object 0x%08lx\n",
+ fence->base.hash.key);
+#endif
kmem_cache_free(drm_cache.fence_object, fence);
}
}
@@ -430,6 +442,9 @@ int drm_fence_add_user_object(drm_file_t *priv, drm_fence_object_t *fence,
return ret;
fence->base.type = drm_fence_type;
fence->base.remove = &drm_fence_object_destroy;
+#ifdef BODEBUG
+ DRM_ERROR("Fence 0x%08lx created\n", fence->base.hash.key);
+#endif
return 0;
}
EXPORT_SYMBOL(drm_fence_add_user_object);