summaryrefslogtreecommitdiffstats
path: root/drivers/staging/android/sync.c
diff options
context:
space:
mode:
authorErik Gilling2013-03-01 01:43:21 +0100
committerGreg Kroah-Hartman2013-03-04 10:46:55 +0100
commitdbd523905bac49da0643332e4eb0f2202e2acd06 (patch)
tree1b6df57091f78e05987d92ffa4630e7fcabe662b /drivers/staging/android/sync.c
parentstaging: sync: Use proper barriers when waiting indefinitely (diff)
downloadkernel-qcow2-linux-dbd523905bac49da0643332e4eb0f2202e2acd06.tar.gz
kernel-qcow2-linux-dbd523905bac49da0643332e4eb0f2202e2acd06.tar.xz
kernel-qcow2-linux-dbd523905bac49da0643332e4eb0f2202e2acd06.zip
staging: sync: Refactor sync debug printing
Move driver callbacks to fill strings instead of using seq_files. This will allow those values to be used in a future tracepoint patch. Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Erik Gilling <konkers@android.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Rob Clark <robclark@gmail.com> Cc: Sumit Semwal <sumit.semwal@linaro.org> Cc: dri-devel@lists.freedesktop.org Cc: Android Kernel Team <kernel-team@android.com> Signed-off-by: Erik Gilling <konkers@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/android/sync.c')
-rw-r--r--drivers/staging/android/sync.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index 811cf65eb3eb..988f2339d70f 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
@@ -847,7 +847,17 @@ static void sync_print_pt(struct seq_file *s, struct sync_pt *pt, bool fence)
seq_printf(s, "@%ld.%06ld", tv.tv_sec, tv.tv_usec);
}
- if (pt->parent->ops->print_pt) {
+ if (pt->parent->ops->timeline_value_str &&
+ pt->parent->ops->pt_value_str) {
+ char value[64];
+ pt->parent->ops->pt_value_str(pt, value, sizeof(value));
+ seq_printf(s, ": %s", value);
+ if (fence) {
+ pt->parent->ops->timeline_value_str(pt->parent, value,
+ sizeof(value));
+ seq_printf(s, " / %s", value);
+ }
+ } else if (pt->parent->ops->print_pt) {
seq_printf(s, ": ");
pt->parent->ops->print_pt(s, pt);
}
@@ -862,7 +872,11 @@ static void sync_print_obj(struct seq_file *s, struct sync_timeline *obj)
seq_printf(s, "%s %s", obj->name, obj->ops->driver_name);
- if (obj->ops->print_obj) {
+ if (obj->ops->timeline_value_str) {
+ char value[64];
+ obj->ops->timeline_value_str(obj, value, sizeof(value));
+ seq_printf(s, ": %s", value);
+ } else if (obj->ops->print_obj) {
seq_printf(s, ": ");
obj->ops->print_obj(s, obj);
}